/* Sashita — WooCommerce pages (shop, product, cart, checkout, account).
   Unlayered on purpose so it beats WooCommerce's own CSS. Uses the tokens from app.css. */

.sashita-woo { font-family: var(--font-sans); color: var(--foreground); }
.sashita-woo h1, .sashita-woo h2, .sashita-woo h3,
.sashita-woo .product_title, .sashita-woo .woocommerce-loop-product__title { font-family: var(--font-display); font-weight: 500; letter-spacing: -0.01em; }

/* Breadcrumb + notices */
.woocommerce .woocommerce-breadcrumb { font-size: .7rem; letter-spacing: .32em; text-transform: uppercase; color: var(--muted-foreground); margin-bottom: 2.5rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--gold-deep); }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	background: var(--card) !important; color: var(--foreground) !important; border: 1px solid var(--border) !important;
	border-top: 2px solid var(--gold-deep) !important; border-radius: 0 !important; font-size: .9rem;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--gold-deep) !important; }

/* Buttons → gold / ink variants */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .wc-block-components-button:not(.is-link),
.wp-block-button__link, .woocommerce .single_add_to_cart_button {
	background: var(--gradient-gold) !important; color: var(--gold-foreground) !important; border: 0 !important; border-radius: 0 !important;
	box-shadow: var(--shadow-gold); text-transform: uppercase; letter-spacing: .2em; font-size: .75rem !important; font-weight: 600 !important;
	font-family: var(--font-sans) !important; padding: 0 2.5rem !important; min-height: 3.5rem; line-height: 3.5rem !important; transition: filter .15s, transform .15s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:not(.is-link):hover { filter: brightness(1.05); }
.woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .5 !important; }
.woocommerce .woocommerce-message .button, .woocommerce .cart .actions .button[name="update_cart"] {
	background: var(--ink) !important; color: var(--ink-foreground) !important; box-shadow: none;
}

/* Forms */
.sashita-woo input[type=text], .sashita-woo input[type=email], .sashita-woo input[type=tel], .sashita-woo input[type=password],
.sashita-woo input[type=number], .sashita-woo select, .sashita-woo textarea, .woocommerce form .form-row .input-text,
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-blocks-components-select__select {
	border: 1px solid var(--input) !important; border-radius: 0 !important; background: var(--card) !important; color: var(--foreground) !important;
	padding: .75rem 1rem; font-family: var(--font-sans);
}
.sashita-woo input:focus, .sashita-woo select:focus, .sashita-woo textarea:focus { outline: 1px solid var(--ring); outline-offset: 0; }
.woocommerce form .form-row label, .wc-block-components-text-input label { color: var(--muted-foreground); }

/* Single product */
.woocommerce div.product { display: block; }
.woocommerce div.product .product_title { font-size: clamp(2.5rem, 4vw, 3.75rem); line-height: 1.05; margin-bottom: .75rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-family: var(--font-display); color: var(--foreground) !important; font-size: 2rem !important; }
.woocommerce div.product p.price del { color: var(--muted-foreground); font-size: 1.25rem; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { font-weight: 300; font-size: 1.125rem; line-height: 1.7; color: var(--muted-foreground); margin: 1.25rem 0 2rem; }
.woocommerce div.product form.cart { display: flex; gap: .75rem; align-items: stretch; flex-wrap: wrap; margin: 2rem 0; }
.woocommerce div.product form.cart div.quantity { margin: 0 !important; }
.woocommerce .quantity .qty { width: 4.5rem; min-height: 3.5rem; text-align: center; }
.woocommerce div.product div.images img { box-shadow: var(--shadow-product); background: var(--sand); }
.woocommerce div.product div.images .flex-control-thumbs { margin-top: .75rem; display: flex; gap: .5rem; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 20% !important; }
.woocommerce div.product .product_meta { font-size: .8rem; color: var(--muted-foreground); border-top: 1px solid var(--border); padding-top: 1.25rem; }
.woocommerce div.product .product_meta a { color: var(--gold-deep); }
.woocommerce span.onsale { background: var(--ink) !important; color: var(--gold) !important; border-radius: 0 !important; min-height: 0; min-width: 0; line-height: 1; padding: .5rem .75rem; font-size: .6rem; letter-spacing: .32em; text-transform: uppercase; font-weight: 500; top: 1rem !important; left: 1rem !important; }
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: var(--gold-deep); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 4rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 0 2rem !important; border-bottom: 1px solid var(--border); display: flex; gap: 2.5rem; }
.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 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: .7rem; letter-spacing: .32em; text-transform: uppercase; font-weight: 500 !important; color: var(--muted-foreground) !important; padding: 0 0 1rem !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--foreground) !important; box-shadow: inset 0 -2px 0 var(--gold-deep); }
.woocommerce div.product .woocommerce-tabs .panel { font-weight: 300; line-height: 1.8; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 2rem; margin-bottom: 1rem; }
.woocommerce div.product .woocommerce-tabs .panel ul, .woocommerce div.product .woocommerce-tabs .panel ol { padding-left: 1.25rem; list-style: disc; margin: 1rem 0; }
.woocommerce div.product .woocommerce-tabs .panel ol { list-style: decimal; }
.woocommerce div.product .woocommerce-tabs .panel p + p, .woocommerce div.product .woocommerce-tabs .panel p + ul { margin-top: 1rem; }
.woocommerce div.product .woocommerce-tabs .panel strong { font-weight: 500; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-color: var(--border); font-style: normal; }

/* Related / upsells */
.woocommerce .related > h2, .woocommerce .upsells > h2, .woocommerce .cross-sells > h2 { font-size: 2.5rem; text-align: center; margin: 5rem 0 3rem; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0 !important; }

/* Product video (from the Sashita Product Video mu-plugin) */
.sashita-product-video { border-radius: 0 !important; box-shadow: var(--shadow-product); }

/* Pagination / ordering */
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 2.5rem !important; font-size: .85rem; color: var(--muted-foreground); }
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: flex; justify-content: center; gap: .5rem; margin-top: 4rem !important; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border: 1px solid var(--border); min-width: 2.75rem; padding: .75rem !important; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ink) !important; color: var(--gold) !important; }

/* Classic cart / checkout tables */
.woocommerce table.shop_table { border-radius: 0 !important; border-color: var(--border) !important; background: var(--card); }
.woocommerce table.shop_table th { font-size: .7rem; letter-spacing: .32em; text-transform: uppercase; font-weight: 500; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--border) !important; }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3 { font-size: 2rem; margin-bottom: 1rem; }
.woocommerce-checkout #payment { background: var(--secondary) !important; border-radius: 0 !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--card) !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--card) !important; }

/* Block cart / checkout */
.wc-block-cart, .wc-block-checkout { font-family: var(--font-sans); }
.wc-block-components-title, .wc-block-cart__totals-title, .wc-block-components-checkout-step__title { font-family: var(--font-display) !important; font-weight: 500 !important; font-size: 1.75rem !important; text-transform: none !important; letter-spacing: -0.01em !important; }
.wc-block-components-product-name { font-family: var(--font-display); font-size: 1.25rem !important; color: var(--foreground) !important; text-decoration: none !important; }
.wc-block-components-totals-wrapper, .wc-block-cart-items, .wc-block-cart-items td, .wc-block-cart-items th { border-color: var(--border) !important; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { background: var(--card); padding: 1.5rem !important; }
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button { width: 100%; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: 0 !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--ink) !important; border-color: var(--ink) !important; }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; border-top: 1px solid var(--border); }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--border); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .9rem 0; font-size: .7rem; letter-spacing: .32em; text-transform: uppercase; font-weight: 500; color: var(--muted-foreground); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--gold-deep); }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--gold-deep); }

/* Store notice */
.woocommerce-store-notice, p.demo_store { background: var(--ink) !important; color: var(--ink-foreground) !important; font-family: var(--font-sans); font-size: .8rem; }

/* Shop-loop cards use the homepage card markup — undo WooCommerce's loop-item styles inside them */
.woocommerce ul.products li.product.sashita-loop-item a img { margin: 0 !important; height: auto; box-shadow: none; }
.woocommerce ul.products li.product.sashita-loop-item h3 { font-size: 1.5rem !important; line-height: 1.25 !important; padding: 0 !important; margin: 0 !important; }
.woocommerce ul.products li.product.sashita-loop-item a { color: inherit; }
.woocommerce ul.products li.product.sashita-loop-item .button { margin: 0 !important; }
.woocommerce ul.products li.product.sashita-loop-item a.button { line-height: 1 !important; min-height: 0; padding-top: 0 !important; padding-bottom: 0 !important; }
.woocommerce ul.products li.product.sashita-loop-item .bg-ink { background: var(--ink) !important; color: var(--ink-foreground) !important; box-shadow: none; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none !important; }
