/* =====================================================================
   EtB3ha — woocommerce.css (shop, product, cart, checkout, account)
   ===================================================================== */

.woo-wrap { padding-block: 50px 80px; }

/* ---------- Shop toolbar ---------- */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-info, .woocommerce-error, .woocommerce-message {
	background: #fff; border: 1px solid var(--c-line); border-inline-start: 4px solid var(--c-accent);
	border-radius: var(--r-md); padding: 14px 20px; margin-block-end: 24px; list-style: none;
	box-shadow: var(--shadow-1); color: var(--c-text); display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.woocommerce-error { border-inline-start-color: var(--c-red); }
.woocommerce-info { border-inline-start-color: var(--c-cyan); }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt {
	background: var(--grad-accent); color: #fff; border: none; border-radius: var(--r-pill);
	padding: 11px 26px; font-weight: 700; font-family: inherit; font-size: .95rem;
	box-shadow: 0 8px 20px rgba(255, 90, 43, .28); transition: transform .25s var(--ease), box-shadow .25s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
	color: #fff; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(255, 90, 43, .38);
}
.woocommerce .button.woocommerce-form-login__submit,
.woocommerce .button.woocommerce-form-register__submit { background: var(--c-ink); box-shadow: none; }
.woocommerce .button.woocommerce-form-login__submit:hover,
.woocommerce .button.woocommerce-form-register__submit:hover { background: var(--c-ink-2); box-shadow: none; }

.woocommerce-products-header__title { font-size: 1.9rem; }
.woocommerce .woocommerce-breadcrumb { display: none; } /* replaced by theme breadcrumb */

/* Catalog ordering */
.woocommerce .woocommerce-ordering select { border: 1px solid var(--c-line); border-radius: var(--r-pill); padding: 10px 16px; background: #fff; font-weight: 600; color: var(--c-ink); }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 0 !important; padding: 0 !important; }
.woocommerce ul.products li.product {
	width: auto !important; float: none !important; margin: 0 !important;
	background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); overflow: hidden;
	transition: transform .3s var(--ease), box-shadow .3s var(--ease); display: flex; flex-direction: column;
	position: relative;
}
.woocommerce ul.products li.product:hover { transform: translateY(-6px); box-shadow: var(--shadow-2); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; }
.woocommerce ul.products li.product img { width: 100% !important; aspect-ratio: 1; object-fit: cover; margin: 0 !important; border-radius: 0 !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.02rem !important; padding: 16px 18px 4px !important; color: var(--c-ink); font-weight: 800; }
.woocommerce ul.products li.product .price { color: var(--c-accent) !important; font-weight: 800 !important; font-size: 1.05rem !important; padding: 0 18px 20px !important; margin: auto 0 0 !important; }
.woocommerce ul.products li.product .price del { color: var(--c-muted) !important; font-weight: 600; }
.woocommerce ul.products li.product .button { margin: 0 18px 20px !important; text-align: center; }
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	position: absolute; inset-block-start: 12px !important; inset-inline-start: 12px !important; inset-inline-end: auto !important;
	background: var(--c-red) !important; color: #fff; font-weight: 800; border-radius: var(--r-pill) !important;
	padding: 4px 14px; margin: 0; z-index: 5; min-width: 0; min-height: 0; line-height: 1.6;
}
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
.woocommerce ul.products.columns-5 { grid-template-columns: repeat(5, 1fr); }

/* ---------- Single product ---------- */
.woocommerce div.product { position: relative; }
.woocommerce div.product div.images { width: 44%; }
.woocommerce div.product div.summary { width: 52%; float: inline-end; }
.woocommerce div.product div.images img { border-radius: var(--r-lg); border: 1px solid var(--c-line); background: var(--c-bg); }
.woocommerce div.product .product_title { font-size: 1.9rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--c-accent) !important; font-size: 1.5rem !important; font-weight: 800 !important; }
.woocommerce div.product p.price del { color: var(--c-muted) !important; font-size: .7em; }
.woocommerce div.product div.woocommerce-product-details__short-description { color: var(--c-muted); margin-block: 14px; }
.woocommerce div.product form.cart { display: flex; align-items: stretch; gap: 12px; flex-wrap: wrap; margin-block: 22px; padding: 18px; background: var(--c-bg); border-radius: var(--r-md); }
.woocommerce div.product form.cart div.quantity { margin: 0 !important; }
.woocommerce .quantity .qty {
	width: 90px; height: 52px; border: 2px solid var(--c-line); border-radius: var(--r-pill);
	text-align: center; font-weight: 800; font-size: 1.05rem; color: var(--c-ink);
}
.woocommerce div.product form.cart .button { padding: 14px 36px; font-size: 1.02rem; }
.woocommerce div.product .product_meta { color: var(--c-muted); font-size: .88rem; padding-block-start: 14px; border-block-start: 1px dashed var(--c-line); }
.woocommerce div.product .product_meta a { color: var(--c-ink); }
.woocommerce div.product .woocommerce-product-gallery { position: relative; }
.woocommerce div.product .flex-viewport { border-radius: var(--r-lg); }
.woocommerce div.product .flex-control-thumbs { display: flex; gap: 10px; margin-block-start: 12px; padding: 0; list-style: none; }
.woocommerce div.product .flex-control-thumbs li { width: 84px; }
.woocommerce div.product .flex-control-thumbs img { border-radius: var(--r-sm); border: 2px solid transparent; opacity: .7; }
.woocommerce div.product .flex-control-thumbs img.flex-active { border-color: var(--c-accent); opacity: 1; }
.woocommerce div.product .woocommerce-product-gallery__trigger {
	position: absolute; inset-block-start: 14px; inset-inline-end: 14px; z-index: 10;
	background: #fff; border-radius: 50%; width: 40px; height: 40px; text-indent: -999px; overflow: hidden; box-shadow: var(--shadow-1);
}
.woocommerce div.product .woocommerce-product-gallery__trigger::before {
	content: ''; display: block; position: absolute; width: 12px; height: 12px; border: 2px solid var(--c-ink); border-radius: 50%; inset-block-start: 12px; inset-inline-start: 13px;
}
.woocommerce div.product .woocommerce-product-gallery__trigger::after {
	content: ''; position: absolute; width: 2px; height: 7px; background: var(--c-ink); transform: rotate(-45deg); inset-block-start: 22px; inset-inline-start: 24px;
}

/* Tier pricing table (from EtB3ha Core) */
.etb3ha-tiers { margin-block: 6px 0; border: 1px solid var(--c-line); border-radius: var(--r-md); overflow: hidden; }
.etb3ha-tiers table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.etb3ha-tiers th { background: var(--c-ink); color: #fff; padding: 10px 14px; font-weight: 700; text-align: start; }
.etb3ha-tiers td { padding: 10px 14px; border-block-start: 1px solid var(--c-line); color: var(--c-text); }
.etb3ha-tiers tr.is-current { background: #FFF1E8; font-weight: 800; }
.etb3ha-tiers tr.is-current td { color: var(--c-accent); }
.etb3ha-tiers__save { background: var(--c-cyan); color: #fff; font-size: .78rem; font-weight: 800; border-radius: var(--r-pill); padding: 2px 10px; }
.etb3ha-tier-total { margin-block-start: 10px; font-weight: 800; color: var(--c-ink); background: #FFF1E8; border-radius: var(--r-pill); padding: 8px 18px; display: inline-block; }
.etb3ha-tier-total strong { color: var(--c-accent); }

/* ---------- Cart ---------- */
.woocommerce table.shop_table { border: 1px solid var(--c-line) !important; border-radius: var(--r-md); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.woocommerce table.shop_table th { background: var(--c-ink); color: #fff; font-weight: 700; padding: 14px 16px; }
.woocommerce table.shop_table td { padding: 16px; border-block-start: 1px solid var(--c-line) !important; vertical-align: middle; }
.woocommerce table.shop_table img { width: 74px; border-radius: var(--r-sm); }
.woocommerce a.remove { color: var(--c-red) !important; font-size: 1.3rem; }
.woocommerce a.remove:hover { background: var(--c-red) !important; color: #fff !important; }
.woocommerce td.product-name a { color: var(--c-ink); font-weight: 700; }
.woocommerce td.product-name a:hover { color: var(--c-accent); }
.etb3ha-cart-design { margin-block-start: 8px; display: flex; align-items: center; gap: 10px; background: var(--c-bg); border-radius: var(--r-sm); padding: 8px 12px; }
.etb3ha-cart-design img { width: 46px; border-radius: 6px; }
.etb3ha-cart-design span { font-size: .8rem; color: var(--c-muted); font-weight: 600; }
.woocommerce .coupon .input-text { border: 2px solid var(--c-line) !important; border-radius: var(--r-pill) !important; padding: 10px 18px !important; width: 200px; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 42%; }
.woocommerce .cart_totals h2 { font-size: 1.3rem; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { background: var(--grad-accent) !important; border-radius: var(--r-pill) !important; padding: 16px !important; font-size: 1.05rem !important; }

/* ---------- Checkout & forms ---------- */
.woocommerce form .form-row label { font-weight: 700; color: var(--c-ink); margin-block-end: 6px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	border: 2px solid var(--c-line) !important; border-radius: var(--r-sm) !important; padding: 11px 16px !important;
	background: #fff; transition: border-color .2s; height: auto !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 !important; line-height: 1.6 !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100% !important; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { border-color: var(--c-accent) !important; outline: none; }
.woocommerce form .form-row input[type="radio"], .woocommerce form .form-row input[type="checkbox"] { accent-color: var(--c-accent); width: 18px; height: 18px; }
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
	background: var(--c-bg); border-radius: var(--r-md);
}
#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
	border-block-end: 1px dashed var(--c-line); padding: 22px;
}
#add_payment_method #payment ul.payment_methods li, .woocommerce-checkout #payment ul.payment_methods li {
	list-style: none; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-sm); padding: 14px 18px; margin-block-end: 10px;
}
#add_payment_method #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
	background: #FFF1E8; border-radius: var(--r-sm); padding: 12px 16px; font-size: .9rem;
}
#add_payment_method #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before { display: none; }
#place_order { width: 100%; padding: 16px !important; font-size: 1.05rem !important; }
.woocommerce-checkout #payment { border-radius: var(--r-md); }

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 260px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 8px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-md); box-shadow: var(--shadow-1); }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 2px 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block; padding: 11px 16px; border-radius: var(--r-sm); color: var(--c-ink); font-weight: 700;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: #FFF1E8; color: var(--c-accent); }
.woocommerce-account .woocommerce-MyAccount-content { width: calc(100% - 280px); }
.woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 1.3rem; }
.woocommerce-account table.my_account_orders .order-actions .button { padding: 8px 18px; font-size: .84rem; }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register {
	max-width: 480px; margin-inline: auto; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 34px; box-shadow: var(--shadow-1);
}
.woocommerce-account .woocommerce-form-login input[type="text"],
.woocommerce-account .woocommerce-form-login input[type="password"],
.woocommerce-account .woocommerce-form-register input[type="email"],
.woocommerce-account .woocommerce-form-register input[type="password"] {
	width: 100%; border: 2px solid var(--c-line) !important; border-radius: var(--r-sm) !important; padding: 12px 16px !important;
}

/* Customer design preview inside order view */
.etb3ha-order-design {
	margin-block: 10px 0; background: var(--c-bg); border-radius: var(--r-md); padding: 14px; display: flex; gap: 14px; align-items: center; flex-wrap: wrap;
}
.etb3ha-order-design img { width: 90px; height: 90px; object-fit: cover; border-radius: var(--r-sm); box-shadow: var(--shadow-1); background: #fff; }
.etb3ha-order-design__info { flex: 1; min-width: 200px; }
.etb3ha-order-design__info strong { display: block; color: var(--c-ink); }
.etb3ha-order-design__info small { color: var(--c-muted); }
.etb3ha-dl-btn {
	display: inline-flex; align-items: center; gap: 7px; background: var(--c-ink); color: #fff !important;
	padding: 9px 18px; border-radius: var(--r-pill); font-weight: 700; font-size: .84rem; margin-block-start: 6px;
}
.etb3ha-dl-btn:hover { background: var(--c-accent); }
.etb3ha-dl-btn--accent { background: var(--grad-accent); }

/* ---------- Widgets / misc ---------- */
.woocommerce-widget-layered-nav-list, .widget_product_categories ul { list-style: none; padding: 0; }
.woocommerce .star-rating span::before { color: var(--c-yellow); }
.woocommerce-tabs ul.tabs li.active { background: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: var(--r-sm); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

@media (max-width: 991px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
	.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100%; float: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
	.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; }
}
@media (max-width: 768px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.woocommerce table.shop_table_responsive tr td { text-align: start !important; }
	.etb3ha-tiers th:nth-child(3), .etb3ha-tiers td:nth-child(3) { display: none; }
}
@media (max-width: 480px) {
	.woocommerce ul.products { grid-template-columns: 1fr; }
}
