/* ==========================================================================
   ASU Glass — WooCommerce
   ========================================================================== */

/* ---------- shop / category ---------- */
.asu-ahero { border-radius: 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; position: relative; overflow: hidden; margin-bottom: 18px; }
.asu-ahero__txt { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 14px; position: relative; }
.asu-ahero__desc { font-size: 17px; line-height: 1.65; color: var(--asu-ink-2); max-width: 620px; }
.asu-ahero__vis { flex: 0 1 300px; height: 240px; display: flex; align-items: center; justify-content: center; position: relative; }
.asu-ahero__vis .asu-device { width: 150px; }
.asu-ahero__vis .asu-device--laptop { width: 290px; }
.asu-ahero__vis .asu-device--tablet, .asu-ahero__vis .asu-device--buds { width: 200px; }
.asu-ahero__vis img { max-height: 230px; width: auto; }
.asu-chips { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 14px; margin-bottom: 10px; scrollbar-width: none; }
.asu-chips::-webkit-scrollbar { display: none; }

.asu-shop { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 22px; align-items: start; }
.asu-shop > [data-asu-filter-toggle] { grid-column: 1 / -1; justify-self: start; }
.asu-filters { border-radius: 28px; padding: 22px; display: flex; flex-direction: column; gap: 22px; position: sticky; top: calc(var(--asu-top) + 96px); }
.asu-filters__g { display: flex; flex-direction: column; gap: 10px; }
.asu-filters__h { margin: 0; font-family: var(--asu-font-head); font-size: 14px; font-weight: 700; letter-spacing: 0; }
.asu-filters .asu-chip { height: 36px; padding: 0 12px; font-size: 13px; }
.asu-filters__help { border-radius: 22px; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.asu-filters__help span { font-size: 13px; color: #D6D2CD; }
.asu-shop__main { min-width: 0; }
.asu-toolbar { border-radius: 20px; padding: 10px 10px 10px 18px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 18px; font-size: 14px; color: var(--asu-muted); }
.asu-toolbar .woocommerce-result-count, .asu-toolbar .woocommerce-ordering { margin: 0 !important; float: none !important; }
.asu-toolbar select, .woocommerce .asu-toolbar select { height: 44px; border-radius: 14px; border: 1px solid rgba(11, 11, 12, .12); background: #fff; padding: 0 12px; font-weight: 600; color: var(--asu-ink); }

.woocommerce ul.products, .woocommerce-page ul.products, ul.products { list-style: none; margin: 0 !important; padding: 0; display: grid !important; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product.asu-loop-item, ul.products li.asu-loop-item { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; display: flex; }
.woocommerce nav.woocommerce-pagination { margin-top: 28px; }
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: inline-flex; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 46px; height: 46px; padding: 0 14px !important; border-radius: 14px; display: inline-flex !important; align-items: center; justify-content: center; font-weight: 700; background: rgba(255, 255, 255, .7) !important; color: var(--asu-ink-2) !important; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--asu-dark) !important; color: #fff !important; }

/* ---------- single product ---------- */
.asu-single__top { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 24px; align-items: start; }
.asu-pgallery { position: relative; border-radius: 40px; padding: 28px; min-height: 520px; display: flex; align-items: center; justify-content: center; overflow: hidden; perspective: 1400px; }
.asu-pgallery > .asu-glow { left: 50%; top: 45%; margin: -210px 0 0 -210px; }
.asu-pgallery > .asu-ring { left: 50%; top: 45%; margin: -180px 0 0 -180px; }
.asu-pgallery__badge { top: 22px; left: 22px; }
.asu-pgallery .woocommerce-product-gallery { position: relative; width: 100% !important; float: none !important; margin: 0 !important; opacity: 1 !important; }
.asu-pgallery.is-tilt .woocommerce-product-gallery__wrapper { transform: rotateY(-10deg) rotateX(5deg); transition: transform .8s var(--asu-ease); }
.asu-pgallery.is-tilt:hover .woocommerce-product-gallery__wrapper { transform: none; }
.asu-pgallery .woocommerce-product-gallery__image img { border-radius: 24px; filter: drop-shadow(0 26px 30px rgba(60, 30, 10, .25)); background: transparent; }
.asu-pgallery .flex-control-thumbs { display: flex; gap: 10px; margin: 16px 0 0 !important; padding: 0; justify-content: center; }
.asu-pgallery .flex-control-thumbs li { width: 72px !important; float: none !important; list-style: none; }
.asu-pgallery .flex-control-thumbs img { border-radius: 16px; background: rgba(255, 255, 255, .8); padding: 6px; opacity: .6; border: 2px solid transparent; transition: opacity .3s; }
.asu-pgallery .flex-control-thumbs img.flex-active, .asu-pgallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--asu-accent); }
.asu-pgallery .woocommerce-product-gallery__trigger { z-index: 5; top: 12px !important; right: 12px !important; border-radius: 14px; background: #fff; }
.asu-pgallery__fallback { position: relative; display: flex; }
.asu-pgallery__fallback .asu-device { width: 240px; }
.asu-pgallery__fallback .asu-device--laptop { width: 440px; }
.asu-pgallery__fallback .asu-device--tablet, .asu-pgallery__fallback .asu-device--buds { width: 320px; }

.asu-psum { display: flex; flex-direction: column; gap: 16px; border-radius: 36px; }
.asu-psum__title { margin: 0; font-size: clamp(28px, 3.6vw, 44px); font-weight: 800; letter-spacing: -0.04em; line-height: 1.05; }
.asu-psum__price { font-family: var(--asu-font-head); font-weight: 800; font-size: clamp(26px, 3vw, 36px); letter-spacing: -0.03em; color: var(--asu-ink); }
.asu-psum__price del { font-size: .55em; color: var(--asu-muted); font-weight: 500; }
.asu-psum__price ins { text-decoration: none; }
.asu-psum__price .woocommerce-Price-currencySymbol { font-family: var(--asu-font-body); font-size: 16px; color: var(--asu-muted); font-weight: 500; }
.asu-psum__stock { font-size: 14px; font-weight: 700; color: #1C7A3A; }
.asu-psum__stock.is-out { color: var(--asu-accent-txt); }
.asu-psum__excerpt { font-size: 15px; line-height: 1.65; color: var(--asu-ink-2); }
.asu-psum__excerpt p { margin: 0 0 8px; }
.asu-psum__call { font-size: 14px; font-weight: 700; color: var(--asu-ink-2); text-decoration: none; text-align: center; }
.asu-psum__cart form.cart { margin: 0 !important; display: flex; flex-direction: column; gap: 14px; }
.asu-psum__cart form.cart:not(.variations_form), .asu-psum__cart .woocommerce-variation-add-to-cart { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.asu-psum__cart table.variations { border: 0; margin: 0 !important; width: 100%; }
.asu-psum__cart table.variations tr { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.asu-psum__cart table.variations th, .asu-psum__cart table.variations td { display: block; padding: 0 !important; text-align: left; border: 0; line-height: 1.3 !important; }
.asu-psum__cart table.variations label { font-weight: 800; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--asu-accent-txt); }
.asu-psum__cart table.variations select { height: 48px; border-radius: 14px; border: 1px solid rgba(11, 11, 12, .12); padding: 0 12px; background: #fff; min-width: 200px; }
.asu-vsel { position: absolute !important; width: 1px !important; height: 1px !important; min-width: 0 !important; opacity: 0; pointer-events: none; }
.asu-vpills { display: flex; flex-wrap: wrap; gap: 8px; }
.asu-vpill { min-height: 46px; padding: 0 18px; border-radius: 14px; border: 2px solid rgba(255, 255, 255, .95); background: rgba(255, 255, 255, .7); color: var(--asu-ink); font-weight: 700; font-size: 14px; cursor: pointer; transition: transform .2s var(--asu-ease); }
.asu-vpill:hover { transform: translateY(-1px); }
.asu-vpill.is-on { border-color: var(--asu-ink); background: #fff; box-shadow: 0 0 0 3px rgba(255, 90, 0, .35), 0 10px 20px rgba(40, 20, 5, .12); }
.asu-vpill.is-off { opacity: .4; text-decoration: line-through; }
.asu-psum__cart .reset_variations { font-size: 13px; font-weight: 700; color: var(--asu-accent-txt); margin-left: 4px; }
.asu-psum__cart .woocommerce-variation-price .price { font-family: var(--asu-font-head); font-weight: 700; font-size: 18px; color: var(--asu-ink); }
.asu-psum__cart .woocommerce-variation { margin-bottom: 4px; }
.asu-psum__cart .quantity { margin: 0 !important; }
.asu-psum__cart .quantity .qty, .woocommerce .quantity .qty { width: 84px; height: 58px; border-radius: 18px; border: 1px solid rgba(11, 11, 12, .12); background: #fff; font-weight: 700; font-size: 16px; text-align: center; }
.asu-psum__cart .single_add_to_cart_button { flex: 1; height: 58px; border-radius: 18px !important; font-size: 17px !important; font-weight: 800 !important; }
.asu-psum__cart .stock { margin: 0; font-weight: 700; }

.asu-feat { border-radius: 24px; padding: 20px; display: flex; gap: 14px; align-items: center; }
.asu-feat .asu-tile { width: 50px; height: 50px; border-radius: 16px; }
.asu-feat__t { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.asu-feat__t strong { font-family: var(--asu-font-head); font-size: 15px; font-weight: 600; line-height: 1.35; }
.asu-desc { border-radius: 40px; }
.asu-desc .asu-prose > * { position: relative; }
.asu-reviews-wc { border-radius: 36px; }
.asu-reviews-wc #reviews h2, .asu-reviews-wc .woocommerce-Reviews-title { font-family: var(--asu-font-head); font-size: 22px; }
.asu-reviews-wc .commentlist { list-style: none; padding: 0; }
.asu-reviews-wc .star-rating span::before, .woocommerce .star-rating span::before, .woocommerce p.stars a { color: var(--asu-accent); }

/* ---------- buttons, forms, notices (cart, checkout, account) ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce .single_add_to_cart_button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 22px; border-radius: 16px; border: 0;
	background: var(--asu-dark); color: #fff; font-family: var(--asu-font-body); font-weight: 700; font-size: 15px; line-height: 1;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 -3px 0 rgba(0, 0, 0, .5) inset, 0 14px 28px rgba(255, 90, 0, .28); transition: transform .3s var(--asu-ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--asu-dark); color: #fff; transform: translateY(-2px); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce .single_add_to_cart_button, .woocommerce #payment #place_order, .woocommerce-page #payment #place_order, .woocommerce .wc-proceed-to-checkout a.checkout-button {
	background: var(--asu-grad); color: var(--asu-ink); box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset, 0 -3px 0 rgba(150, 50, 0, .35) inset, 0 14px 28px rgba(255, 90, 0, .38);
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce .single_add_to_cart_button:hover { background: var(--asu-grad); color: var(--asu-ink); }
.woocommerce button.button:disabled, .woocommerce button.button.disabled, .woocommerce button.button:disabled[disabled] { opacity: .5; padding: 0 22px; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { border-radius: 18px; font-size: 17px; font-weight: 800; height: 58px; display: flex; align-items: center; justify-content: center; }

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-page form .form-row input.input-text,
.woocommerce .select2-container--default .select2-selection--single, #coupon_code {
	height: 50px; border-radius: 14px !important; border: 1px solid rgba(11, 11, 12, .12) !important; background: rgba(255, 255, 255, .9); padding: 0 14px; font-size: 15px; color: var(--asu-ink);
}
.woocommerce form .form-row textarea { height: auto; min-height: 110px; padding: 12px 14px; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 48px; padding-left: 0; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; }
.woocommerce form .form-row label { font-weight: 700; font-size: 14px; }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border: 0 !important; border-radius: 26px !important; background: rgba(255, 255, 255, .62); padding: 24px !important; }

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
	border: 0 !important; border-radius: 20px; padding: 18px 22px 18px 54px !important; background: rgba(255, 255, 255, .8) !important; box-shadow: 0 14px 30px rgba(40, 20, 5, .08); color: var(--asu-ink) !important; list-style: none; margin: 0 0 20px !important;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--asu-accent) !important; top: 18px !important; left: 22px !important; }
.woocommerce-error::before { color: #C0392B !important; top: 18px !important; left: 22px !important; }
.woocommerce-message .button, .woocommerce-info .button { float: right; min-height: 40px !important; }

.woocommerce table.shop_table { border: 0 !important; border-radius: 24px !important; background: rgba(255, 255, 255, .62); -webkit-backdrop-filter: blur(var(--asu-blur)); backdrop-filter: blur(var(--asu-blur)); overflow: hidden; border-collapse: separate !important; }
.woocommerce table.shop_table th { font-family: var(--asu-font-head); font-weight: 700; font-size: 14px; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-top: 1px solid rgba(11, 11, 12, .07) !important; padding: 14px 16px !important; }
.woocommerce table.shop_table img { width: 64px !important; border-radius: 12px; }
.woocommerce a.remove { color: var(--asu-accent) !important; border-radius: 10px; }
.woocommerce a.remove:hover { background: var(--asu-accent); color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 460px; margin-left: auto; }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3, #order_review_heading { font-family: var(--asu-font-head); font-size: 22px; }
.woocommerce #payment, .woocommerce-checkout #payment { border-radius: 24px; background: rgba(255, 255, 255, .7) !important; }
.woocommerce #payment div.payment_box { background: #FFF3EA !important; border-radius: 14px; }
.woocommerce #payment div.payment_box::before { border-bottom-color: #FFF3EA !important; }

.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 10px; border-radius: 24px; background: rgba(255, 255, 255, .62); display: flex; flex-direction: column; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; min-height: 44px; align-items: center; padding: 0 14px; border-radius: 12px; color: var(--asu-ink); text-decoration: none; font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--asu-dark); color: #fff; }

.woocommerce span.onsale { min-height: 0; min-width: 0; line-height: 1.2; padding: 6px 11px; border-radius: 999px; background: var(--asu-grad); color: var(--asu-ink); font-weight: 800; font-size: 11px; }
.woocommerce .woocommerce-breadcrumb { margin: 0; }
.woocommerce-store-notice, p.demo_store { background: var(--asu-dark) !important; }

/* Woo blocks (cart / checkout blocks) */
.wc-block-components-button:not(.is-link) { border-radius: 16px !important; background: var(--asu-grad) !important; color: var(--asu-ink) !important; font-weight: 800 !important; min-height: 54px; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input { border-radius: 14px !important; }

/* ---------- cart / checkout / account pages ---------- */
.asu-wcpage { max-width: var(--asu-wrap); }
.asu-wcpage__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin: 0 0 22px; }
.asu-wcpage__title { margin: 0; font-size: clamp(30px, 4vw, 48px); font-weight: 800; letter-spacing: -0.04em; }
.asu-wcpage__body { min-width: 0; font-size: 15px; line-height: 1.6; color: var(--asu-ink-2); }
.asu-wcpage__body > .woocommerce, .asu-wcpage__body > .wp-block-woocommerce-cart, .asu-wcpage__body > .wp-block-woocommerce-checkout { max-width: none; }
.asu-wcpage__body a { color: var(--asu-accent-txt); }

/* Woo blocks: one glass card per column, nothing overflows */
.asu-wcpage .wp-block-woocommerce-cart, .asu-wcpage .wp-block-woocommerce-checkout { background: transparent; padding: 0; border-radius: 0; }
.asu-wcpage .wc-block-components-sidebar-layout { display: flex; flex-wrap: wrap; gap: 24px; margin: 0; }
.asu-wcpage .wc-block-components-sidebar-layout .wc-block-components-main { flex: 1 1 560px; min-width: 0; width: auto; padding: 28px !important; margin: 0; border-radius: 30px; background: rgba(255, 255, 255, .7); -webkit-backdrop-filter: blur(var(--asu-blur)); backdrop-filter: blur(var(--asu-blur)); border: 1px solid rgba(255, 255, 255, .9); box-shadow: 0 24px 60px rgba(40, 20, 5, .08); }
.asu-wcpage .wc-block-components-sidebar-layout .wc-block-components-sidebar { flex: 1 1 340px; max-width: 440px; min-width: 0; width: auto; padding: 0 !important; margin: 0; }
.asu-wcpage .wp-block-woocommerce-checkout-order-summary-block, .asu-wcpage .wp-block-woocommerce-cart-order-summary-block { border-radius: 30px; background: rgba(255, 255, 255, .78); border: 1px solid rgba(255, 255, 255, .95) !important; box-shadow: 0 24px 60px rgba(40, 20, 5, .08); overflow: hidden; }
.asu-wcpage .wc-block-components-sidebar { position: sticky; top: calc(var(--asu-top) + 100px); align-self: flex-start; }
.asu-wcpage .wc-block-components-order-summary-item { display: grid !important; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; align-items: start; }
.asu-wcpage .wc-block-components-order-summary-item__image { width: 56px !important; }
.asu-wcpage .wc-block-components-order-summary-item__description { padding: 0 !important; min-width: 0; overflow-wrap: anywhere; }
.asu-wcpage .wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description { display: none; }
.asu-wcpage .wc-block-components-order-summary-item__total-price { position: static !important; white-space: nowrap; font-weight: 700; font-size: 14px; padding-left: 0 !important; }
.asu-wcpage .wc-block-components-product-name { font-family: var(--asu-font-head); font-size: 14px !important; font-weight: 600; line-height: 1.35 !important; color: var(--asu-ink); text-decoration: none; }
.asu-wcpage .wc-block-components-totals-item { flex-wrap: wrap; gap: 6px; }
.asu-wcpage .wc-block-components-totals-item__value { white-space: nowrap; }
.asu-wcpage .wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .asu-wcpage .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--asu-font-head); font-size: 20px !important; font-weight: 800; }
.asu-wcpage .wc-block-components-title, .asu-wcpage .wc-block-components-checkout-step__title, .asu-wcpage .wc-block-cart__totals-title { font-family: var(--asu-font-head) !important; font-weight: 700 !important; letter-spacing: -0.02em; text-transform: none !important; color: var(--asu-ink); }
.asu-wcpage .wc-block-components-checkout-step__title { font-size: 20px !important; }
.asu-wcpage .wc-block-components-text-input input, .asu-wcpage .wc-block-components-text-input textarea, .asu-wcpage .wc-blocks-components-select .wc-blocks-components-select__select, .asu-wcpage .wc-block-components-combobox .wc-block-components-combobox-control input { border-radius: 14px !important; border: 1px solid rgba(11, 11, 12, .14) !important; background: #fff !important; }
.asu-wcpage .wc-block-components-text-input.is-active input:focus, .asu-wcpage .wc-block-components-text-input input:focus { border-color: var(--asu-accent) !important; box-shadow: 0 0 0 3px rgba(255, 90, 0, .18) !important; }
.asu-wcpage .wc-block-components-radio-control__option, .asu-wcpage .wc-block-components-radio-control-accordion-option { border-radius: 16px !important; }
.asu-wcpage .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted, .asu-wcpage .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--asu-accent) !important; }
.asu-wcpage .wc-block-components-radio-control__input:checked { border-color: var(--asu-accent) !important; }
.asu-wcpage .wc-block-components-radio-control__input:checked::before { background: var(--asu-accent) !important; }
.asu-wcpage .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--asu-ink); border-color: var(--asu-ink); }
.asu-wcpage .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff; }
.wc-block-components-button:not(.is-link), .asu-wcpage .wc-block-cart__submit-button, .asu-wcpage .wc-block-components-checkout-place-order-button { border: 0 !important; border-radius: 18px !important; background: var(--asu-grad) !important; color: var(--asu-ink) !important; font-weight: 800 !important; min-height: 56px; text-decoration: none !important; box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset, 0 -3px 0 rgba(150, 50, 0, .35) inset, 0 14px 28px rgba(255, 90, 0, .3); }
.wc-block-components-button:not(.is-link) .wc-block-components-button__text { text-decoration: none !important; }
.asu-wcpage .wc-block-components-checkout-return-to-cart-button { color: var(--asu-ink-2); text-decoration: none; font-weight: 700; }
.asu-wcpage .wc-block-components-quantity-selector { border-radius: 12px; overflow: hidden; }
.asu-wcpage .wc-block-cart-items td, .asu-wcpage .wc-block-cart-items th { border-color: rgba(11, 11, 12, .07) !important; }
.asu-wcpage .wc-block-cart-item__image img { border-radius: 14px; background: #fff; }
.asu-wcpage .wc-block-components-product-metadata { font-size: 13px; }
.asu-wcpage .wc-block-components-notice-banner { border-radius: 16px; }
.asu-wcpage .wc-block-components-notices__snackbar { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.asu-wcpage .wc-block-components-address-card { border-radius: 16px; }
.asu-wcpage .wc-block-checkout__actions { padding-top: 10px; }
.asu-wcpage .wc-block-components-checkout-place-order-button { width: 100%; }
.asu-wcpage .wp-block-woocommerce-empty-cart-block .wp-block-heading { font-family: var(--asu-font-head); }

/* Classic (shortcode) cart & checkout */
.asu-wcpage .woocommerce form.woocommerce-cart-form, .asu-wcpage .woocommerce .cart-collaterals .cart_totals, .asu-wcpage form.checkout #customer_details, .asu-wcpage form.checkout #order_review { border-radius: 30px; background: rgba(255, 255, 255, .7); border: 1px solid rgba(255, 255, 255, .9); padding: 24px; box-shadow: 0 24px 60px rgba(40, 20, 5, .08); }
.asu-wcpage .woocommerce table.shop_table { background: transparent; backdrop-filter: none; box-shadow: none; }
.asu-wcpage .woocommerce-cart .cart-collaterals, .asu-wcpage .cart-collaterals { margin-top: 22px; }
.asu-wcpage form.checkout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.asu-wcpage form.checkout > .woocommerce-NoticeGroup, .asu-wcpage form.checkout > .wc_coupon_message_wrap { grid-column: 1 / -1; }
.asu-wcpage form.checkout #order_review_heading { display: none; }
.asu-wcpage form.checkout .col2-set .col-1, .asu-wcpage form.checkout .col2-set .col-2 { width: 100%; float: none; }
.asu-wcpage .woocommerce .col2-set::after, .asu-wcpage .woocommerce .col2-set::before { display: none; }
.asu-wcpage .woocommerce form .form-row { padding: 0; margin: 0 0 14px; }
.asu-wcpage .woocommerce form .form-row-first, .asu-wcpage .woocommerce form .form-row-last { width: calc(50% - 7px); }
.asu-wcpage .woocommerce table.shop_table td.product-name { overflow-wrap: anywhere; }
.asu-wcpage .woocommerce td.actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.asu-wcpage .woocommerce td.actions .coupon .input-text { width: auto !important; min-width: 160px; }

/* My account */
.asu-wcpage--account .asu-wcpage__body > .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 24px; align-items: start; }
.asu-wcpage--account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.asu-wcpage__body > .woocommerce::before, .asu-wcpage__body > .woocommerce::after { display: none !important; }
.asu-wcpage--account .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
.woocommerce-account .woocommerce-MyAccount-navigation { position: sticky; top: calc(var(--asu-top) + 100px); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { border: 1px solid rgba(255, 255, 255, .95); box-shadow: 0 20px 50px rgba(40, 20, 5, .08); background: rgba(255, 255, 255, .72); }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 46px; gap: 10px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--asu-accent-txt); }
.woocommerce-account .woocommerce-MyAccount-content { border-radius: 30px; background: rgba(255, 255, 255, .72); border: 1px solid rgba(255, 255, 255, .95); box-shadow: 0 24px 60px rgba(40, 20, 5, .08); padding: 28px; min-width: 0; overflow-wrap: anywhere; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { font-size: 16px; }
.woocommerce-account .woocommerce-MyAccount-content mark { background: #FFE6D3; color: var(--asu-ink); border-radius: 6px; padding: 0 4px; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { width: auto !important; float: none !important; border-radius: 20px; background: #fff; padding: 18px; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none; }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.woocommerce-account .woocommerce-Address-title h2 { font-size: 18px; margin: 0; }
.woocommerce-account table.shop_table.account-orders-table .button, .woocommerce-account .woocommerce-orders-table .button { min-height: 38px; padding: 0 14px; font-size: 13px; }
.woocommerce-account .woocommerce-EditAccountForm fieldset { border: 1px solid rgba(11, 11, 12, .1); border-radius: 18px; padding: 16px; margin: 18px 0; }
/* login / register */
.asu-wcpage--account .woocommerce:has(> .u-columns), .asu-wcpage--account .woocommerce:has(> form.login), .asu-wcpage--account .woocommerce:has(> form.woocommerce-ResetPassword) { display: block; }
.asu-wcpage--account .u-columns.col2-set { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.asu-wcpage--account .u-columns .u-column1, .asu-wcpage--account .u-columns .u-column2 { width: auto !important; float: none !important; }
.asu-wcpage--account .u-columns h2, .asu-wcpage--account .woocommerce > h2 { font-family: var(--asu-font-head); font-size: 22px; }
.asu-wcpage--account .woocommerce form.login, .asu-wcpage--account .woocommerce form.register, .asu-wcpage--account form.woocommerce-ResetPassword { margin: 0 !important; background: rgba(255, 255, 255, .78) !important; border: 1px solid rgba(255, 255, 255, .95) !important; border-radius: 28px !important; padding: 26px !important; box-shadow: 0 24px 60px rgba(40, 20, 5, .08); max-width: 560px; }
.asu-wcpage--account .woocommerce form .form-row input.input-text { width: 100%; }
.asu-wcpage--account .woocommerce-form-login__rememberme { display: inline-flex; gap: 8px; align-items: center; margin-right: 12px; }
.asu-wcpage--account .woocommerce-form-login__submit { margin-top: 6px; }
.asu-wcpage--account .lost_password a { font-weight: 700; }

/* product summary colours (WooCommerce default olive price) */
.woocommerce div.product .asu-psum__price, .woocommerce div.product .asu-psum .price, .asu-psum .woocommerce-variation-price .price, .asu-psum__price .amount { color: var(--asu-ink) !important; }
.asu-psum__price ins .amount { color: var(--asu-ink); }
.asu-psum__price del .amount { color: var(--asu-muted) !important; }
.asu-psum .woocommerce-variation-price { display: none; }
.asu-psum .stock.in-stock { color: #1C7A3A; }
/* review form */
.asu-reviews-wc #review_form .comment-form input[type=text], .asu-reviews-wc #review_form .comment-form input[type=email], .asu-reviews-wc #review_form textarea, .comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url], .comment-form textarea { width: 100%; height: 50px; border-radius: 14px; border: 1px solid rgba(11, 11, 12, .14); background: #fff; padding: 0 14px; font-size: 15px; }
.asu-reviews-wc #review_form textarea, .comment-form textarea { height: auto; min-height: 120px; padding: 12px 14px; }
.comment-form p { margin: 0 0 14px; }
.comment-form label { display: block; font-weight: 700; font-size: 14px; margin-bottom: 6px; }
.comment-form .comment-form-cookies-consent { display: flex; gap: 8px; align-items: center; }
.comment-form .comment-form-cookies-consent label { margin: 0; font-weight: 500; }
.asu-reviews-wc .woocommerce-noreviews { padding-left: 22px !important; }
.asu-reviews-wc .woocommerce-noreviews::before { display: none; }

@media (max-width: 900px) {
	.asu-wcpage form.checkout { grid-template-columns: 1fr; }
	.asu-wcpage--account .asu-wcpage__body > .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: row; overflow-x: auto; scrollbar-width: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { white-space: nowrap; }
	.asu-wcpage .wc-block-components-sidebar { position: static; max-width: none !important; }
	.asu-wcpage .wc-block-components-sidebar-layout { flex-direction: column; }
	.asu-wcpage .wc-block-components-sidebar-layout .wc-block-components-main, .asu-wcpage .wc-block-components-sidebar-layout .wc-block-components-sidebar { flex: 0 0 auto; width: 100%; max-width: none; }
}
@media (max-width: 760px) {
	.asu-wcpage .wc-block-components-sidebar-layout .wc-block-components-main { padding: 18px !important; border-radius: 24px; }
	.woocommerce-account .woocommerce-MyAccount-content { padding: 18px; border-radius: 24px; }
	.asu-wcpage .woocommerce form .form-row-first, .asu-wcpage .woocommerce form .form-row-last { width: 100%; }
	.asu-wcpage .woocommerce form.woocommerce-cart-form, .asu-wcpage form.checkout #customer_details, .asu-wcpage form.checkout #order_review { padding: 16px; border-radius: 24px; }
}

/* cart totals: inner spacing so text never touches the rounded edge */
.asu-wcpage .wp-block-woocommerce-cart-order-summary-block { padding: 22px 24px 10px; }
.asu-wcpage .wp-block-woocommerce-cart-order-summary-block .wc-block-cart__totals-title { display: block; margin: 0 0 6px !important; padding: 0 !important; font-size: 18px !important; line-height: 1.3; }
.asu-wcpage .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper { padding-left: 0 !important; padding-right: 0 !important; }
.asu-wcpage .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item, .asu-wcpage .wp-block-woocommerce-cart-order-summary-block .wc-block-components-panel__button { padding-left: 0 !important; padding-right: 0 !important; }
.asu-wcpage .wp-block-woocommerce-checkout-order-summary-block { padding: 6px 4px 4px; }
.asu-wcpage .wc-block-components-totals-footer-item { align-items: center; }
.asu-wcpage .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .asu-wcpage .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: clamp(16px, 1.6vw, 20px) !important; line-height: 1.3; }
.asu-wcpage .wc-block-cart__submit-container { padding: 0 !important; margin-top: 16px; }
.asu-wcpage .wc-block-cart__submit-button { width: 100%; }
.asu-wcpage .wc-block-components-product-name { overflow-wrap: anywhere; }
.asu-wcpage .wc-block-components-product-price, .asu-wcpage .wc-block-components-formatted-money-amount, .asu-wcpage .wc-block-cart-item__total-price-and-sale-badge-wrapper { white-space: nowrap; overflow-wrap: normal; }
.asu-wcpage .wc-block-components-product-price { display: inline-flex; flex-wrap: wrap; gap: 2px 8px; }
.asu-wcpage .wc-block-cart__submit-container--sticky { padding: 12px 16px !important; margin: 0; background: rgba(246, 244, 241, .94); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: 0 -10px 30px rgba(40, 20, 5, .1); }
.asu-wcpage .wc-block-cart__submit-container--sticky::before { display: none; }
.asu-has-mbar .asu-wcpage .wc-block-cart__submit-container--sticky { bottom: 84px; left: 10px; right: 10px; width: auto !important; border-radius: 22px; box-sizing: border-box; }
.asu-wcpage .wc-block-cart-items .wc-block-components-product-metadata__description { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.asu-wcpage__title { line-height: 1.15; padding-bottom: .08em; }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
	.asu-single__top { grid-template-columns: 1fr; }
	.asu-pgallery { min-height: 380px; }
}
@media (max-width: 900px) {
	.asu-shop { grid-template-columns: 1fr; }
	.asu-filters { display: none; position: static; }
	.asu-filters.is-open { display: flex; }
}
@media (max-width: 760px) {
	.asu-ahero__vis { flex-basis: 100%; height: 180px; }
	.asu-pgallery { padding: 18px; border-radius: 30px; min-height: 320px; }
	.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td { padding: 10px 14px !important; }
}

/* disabled add-to-cart keeps the theme colour (WooCommerce default is purple) */
.single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled, .woocommerce button.button.alt.disabled { background: var(--asu-grad) !important; background-color: var(--asu-accent) !important; color: var(--asu-ink) !important; opacity: .45 !important; }
