/* ============================================================
   Brando WooCommerce — WooCommerce Styles
   Product grid, cards, cart, checkout, my account
   ============================================================ */

/* ---- Shop layout ---- */
.wc-page-wrap { padding-top: 10px; }

.wc-layout {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 36px;
	align-items: start;
	padding-bottom: 40px;
}
.wc-content-primary { min-width: 0; }

@media (max-width: 900px) {
	.wc-layout { grid-template-columns: 1fr; }
}

/* ---- Shop header / toolbar ---- */
.shop-header .woocommerce-products-header__title {
	font-size: 2rem;
	margin: 0 0 10px;
}
.woocommerce .woocommerce-breadcrumb { font-size: 0.85rem; color: var(--brando-text-light); }
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: var(--brando-radius);
	padding: 12px 18px;
	border: 1px solid var(--brando-border);
	list-style: none;
}

/* ---- Product grid ---- */
ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 24px;
	margin: 24px 0;
	padding: 0;
	list-style: none;
}

.brando-product-card {
	background: #fff;
	border: 1px solid var(--brando-border);
	border-radius: var(--brando-radius);
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	display: flex;
	flex-direction: column;
}
.brando-product-card:hover {
	box-shadow: var(--brando-shadow);
	transform: translateY(-2px);
}

.product-card-media {
	position: relative;
	overflow: hidden;
	background: var(--brando-bg-alt);
}
.product-card-media img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--brando-accent);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
	z-index: 2;
	min-height: 0;
	line-height: 1.4;
}

.product-card-body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}
.woocommerce-loop-product__title {
	font-size: 1rem !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--brando-text);
}
.product-card-body .price {
	font-size: 1rem;
	font-weight: 700;
	color: var(--brando-primary);
}
.product-card-body del { color: var(--brando-text-light); font-weight: 400; }
.product-card-body ins { text-decoration: none; }

.product-card-body .button { margin-top: auto; text-align: center; }

/* ---- Star rating ---- */
.woocommerce .star-rating { color: var(--brando-accent); font-size: 0.85rem; }

/* ---- Single product ---- */
.woocommerce div.product .product_title { font-size: 1.8rem; }
.woocommerce div.product p.price {
	color: var(--brando-primary);
	font-size: 1.4rem;
	font-weight: 700;
}
.woocommerce div.product .onsale {
	top: 16px;
	right: auto;
	left: 16px;
}
.woocommerce div.product div.images img { border-radius: var(--brando-radius); }
.woocommerce div.product form.cart { margin: 24px 0; }
.woocommerce div.product form.cart .button {
	padding: 12px 30px;
	font-size: 1rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 4px;
	border-bottom: 2px solid var(--brando-border);
	flex-wrap: wrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: none;
	background: none;
	border-radius: 8px 8px 0 0;
	margin: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 12px 20px;
	font-weight: 600;
	color: var(--brando-text);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--brando-primary);
	border-bottom: 2px solid var(--brando-primary);
}
.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 .panel { padding: 24px 0; }
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products { margin-top: 40px; }
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2 {
	font-size: 1.3rem;
	margin-bottom: 20px;
}

/* ---- Quantity input ---- */
.woocommerce .quantity input[type="number"] {
	border: 1px solid var(--brando-border);
	border-radius: 8px;
	padding: 8px;
	width: 70px;
}

/* ---- Cart page ---- */
.woocommerce table.shop_table {
	border: 1px solid var(--brando-border);
	border-radius: var(--brando-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	width: 100%;
}
.woocommerce table.shop_table th {
	background: var(--brando-bg-alt);
	padding: 12px 16px;
	text-align: left;
}
.woocommerce table.shop_table td { padding: 14px 16px; border-top: 1px solid var(--brando-border); }
.woocommerce table.cart img { width: 70px; border-radius: 8px; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
	background: var(--brando-bg-alt);
	border-radius: var(--brando-radius);
	padding: 20px;
}
.woocommerce .coupon .input-text {
	border: 1px solid var(--brando-border);
	border-radius: 8px;
	padding: 10px;
}

/* ---- Checkout ---- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	border: 1px solid var(--brando-border) !important;
	border-radius: 8px;
	padding: 10px 12px;
	height: auto;
}
.select2-container--default .select2-selection--single {
	padding: 8px 12px;
}
.woocommerce form .form-row label { font-weight: 600; font-size: 0.9rem; }
#add_payment_method #payment,
.woocommerce-checkout #payment {
	background: var(--brando-bg-alt);
	border-radius: var(--brando-radius);
}
#add_payment_method #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--brando-border);
}
#add_payment_method #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
	background: #fff;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }

/* ---- My Account ---- */
.woocommerce-account .account-nav-list {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.woocommerce-account .account-nav-item a {
	display: block;
	padding: 9px 18px;
	border: 1px solid var(--brando-border);
	border-radius: 999px;
	color: var(--brando-text);
	font-weight: 500;
	font-size: 0.92rem;
}
.woocommerce-account .account-nav-item a:hover,
.woocommerce-account .account-nav-item.is-active a {
	background: var(--brando-primary);
	border-color: var(--brando-primary);
	color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content {
	background: #fff;
	border: 1px solid var(--brando-border);
	border-radius: var(--brando-radius);
	padding: 24px;
}
.woocommerce-account .woocommerce-MyAccount-content table { margin: 0; }
.woocommerce-account .u-columns { display: flex; gap: 40px; flex-wrap: wrap; }
.woocommerce-account .u-columns > div { flex: 1 1 340px; }

/* ---- Login form (My Account logged-out) ---- */
.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--brando-border);
	border-radius: var(--brando-radius);
	padding: 24px;
	max-width: 480px;
}

/* ---- Blocks fallback ---- */
.wp-block-woocommerce-handpicked-products ul,
.wp-block-woocommerce-product-best-sellers ul {
	list-style: none;
	padding: 0;
}
