/**
 * Baseborn V2 — woocommerce.css
 * WooCommerce-specific overrides loaded only on shop pages.
 */

/* =========================================================
   RESET WC DEFAULTS
   ========================================================= */
.woocommerce-page .woocommerce,
.woocommerce-page .woocommerce-page {
	font-family: inherit;
	color: inherit;
}

/* Remove default WC sidebar */
.woocommerce-page .woocommerce-sidebar { display: none !important; }

/* =========================================================
   NOTICES
   ========================================================= */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	background: var(--bb-surface, #141210);
	border-top-color: var(--bb-accent, #c8351f);
	color: var(--bb-text, #e8e3db);
	padding: 1rem 1.5rem;
	margin-bottom: 1.5rem;
	border-radius: 2px;
	list-style: none;
}

.woocommerce-error {
	border-top-color: #e03737;
}

.woocommerce-info {
	border-top-color: var(--bb-cypher, #1a7fc1);
}

/* =========================================================
   FORM ELEMENTS
   ========================================================= */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce .input-text,
.woocommerce select {
	background:    var(--bb-input-bg, #1a1815);
	border:        1px solid var(--bb-border, #2e2b27);
	border-radius: 2px;
	color:         var(--bb-text, #e8e3db);
	padding:       0.65rem 1rem;
	font-family:   inherit;
	font-size:     0.875rem;
	width:         100%;
	transition:    border-color 0.2s;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.woocommerce .input-text:focus {
	border-color: var(--bb-accent, #c8351f);
	outline:      none;
}

.woocommerce-checkout label,
.woocommerce label {
	color:         var(--bb-muted, #7a746c);
	font-size:     0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	display:       block;
	margin-bottom: 0.35rem;
}

/* Required star */
.required { color: var(--bb-accent, #c8351f); }

/* =========================================================
   PLACE ORDER BUTTON
   ========================================================= */
#place_order,
.woocommerce #respond input#submit,
.woocommerce button.button,
.woocommerce a.button {
	background:     var(--bb-accent, #c8351f);
	color:          #fff;
	border:         none;
	border-radius:  2px;
	font-family:    'Barlow Condensed', sans-serif;
	font-size:      0.85rem;
	font-weight:    600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding:        0.85rem 2rem;
	cursor:         pointer;
	transition:     background 0.2s, transform 0.1s;
	display:        inline-block;
	width:          100%;
	text-align:     center;
}

#place_order:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover {
	background: color-mix(in srgb, var(--bb-accent, #c8351f) 85%, #fff 15%);
	transform: translateY(-1px);
}

/* Alt / ghost variant */
.woocommerce button.button.alt {
	background: transparent;
	border:     1px solid var(--bb-accent, #c8351f);
	color:      var(--bb-accent, #c8351f);
}

.woocommerce button.button.alt:hover {
	background: var(--bb-accent, #c8351f);
	color:      #fff;
}

/* =========================================================
   PAYMENT SECTION
   ========================================================= */
#payment {
	background: transparent;
	border:     none;
	padding:    0;
}

#payment .payment_methods {
	list-style:  none;
	padding:     0;
	margin:      0 0 1.5rem;
	border:      1px solid var(--bb-border, #2e2b27);
	border-radius: 2px;
	overflow:    hidden;
}

#payment .payment_methods li {
	border-bottom: 1px solid var(--bb-border, #2e2b27);
	padding:       0.85rem 1rem;
}

#payment .payment_methods li:last-child {
	border-bottom: none;
}

#payment .payment_methods label {
	color:        var(--bb-text, #e8e3db);
	font-size:    0.9rem;
	text-transform: none;
	letter-spacing: normal;
	cursor:       pointer;
	display:      flex;
	align-items:  center;
	gap:          0.5rem;
}

#payment .payment_box {
	background:   var(--bb-surface, #141210);
	padding:      1rem;
	margin-top:   0.5rem;
	border-radius: 2px;
}

/* =========================================================
   COUPON FORM (checkout)
   ========================================================= */
.woocommerce-form-coupon-toggle,
.checkout_coupon {
	margin-bottom: 1.5rem;
}

.checkout_coupon .form-row {
	display:   flex;
	gap:       0.75rem;
	flex-wrap: wrap;
}

.checkout_coupon input[name="coupon_code"] {
	flex: 1;
	min-width: 200px;
}

/* =========================================================
   ORDER REVIEW (WC default inside checkout)
   ========================================================= */
#order_review_heading {
	display: none; /* We have our own heading */
}

table.shop_table {
	width:          100%;
	border-collapse: collapse;
	color:          var(--bb-text, #e8e3db);
	font-size:      0.9rem;
}

table.shop_table th,
table.shop_table td {
	padding:       0.75rem 0;
	border-bottom: 1px solid var(--bb-border, #2e2b27);
	text-align:    left;
}

table.shop_table tfoot tr.order-total th,
table.shop_table tfoot tr.order-total td {
	font-family:   'Bebas Neue', sans-serif;
	font-size:     1.1rem;
	letter-spacing: 0.05em;
	color:         var(--bb-accent, #c8351f);
	border-bottom: none;
	padding-top:   1rem;
}

/* =========================================================
   WOOCOMMERCE CART TOTALS (default widget)
   ========================================================= */
.cart_totals h2 {
	font-family:    'Bebas Neue', sans-serif;
	font-size:      1.4rem;
	letter-spacing: 0.08em;
	color:          var(--bb-text, #e8e3db);
	margin-bottom:  1rem;
	border-bottom:  1px solid var(--bb-border, #2e2b27);
	padding-bottom: 0.75rem;
}

.cart_totals table.shop_table_responsive tr th,
.cart_totals table.shop_table_responsive tr td {
	padding:       0.6rem 0;
}

/* Shipping calculator */
.woocommerce-shipping-calculator a {
	color: var(--bb-accent, #c8351f);
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* =========================================================
   ACCOUNT / LOGIN FORMS
   ========================================================= */
.woocommerce-account .woocommerce,
.woocommerce-page.woocommerce-account .woocommerce {
	max-width: 900px;
	margin: 3rem auto;
	padding: 0 1.5rem;
}

.woocommerce-form-login,
.woocommerce-form-register {
	background:    var(--bb-surface, #141210);
	border:        1px solid var(--bb-border, #2e2b27);
	border-radius: 4px;
	padding:       2rem;
	max-width:     480px;
	margin:        0 auto 2rem;
}

.woocommerce-form-login h2,
.woocommerce-form-register h2 {
	font-family:    'Bebas Neue', sans-serif;
	font-size:      2rem;
	letter-spacing: 0.08em;
	margin-bottom:  1.5rem;
}

/* =========================================================
   ORDER CONFIRMATION PAGE
   ========================================================= */
.woocommerce-order-received .woocommerce-thankyou-order-details {
	list-style:    none;
	padding:       0;
	display:       flex;
	flex-wrap:     wrap;
	gap:           1rem;
	margin-bottom: 2rem;
}

.woocommerce-order-received .woocommerce-thankyou-order-details li {
	background:    var(--bb-surface, #141210);
	border:        1px solid var(--bb-border, #2e2b27);
	border-radius: 2px;
	padding:       1rem 1.5rem;
	flex:          1;
	min-width:     140px;
}

.woocommerce-order-received .woocommerce-thankyou-order-details strong {
	display:  block;
	color:    var(--bb-accent, #c8351f);
	font-size: 1.1rem;
}

/* =========================================================
   PAGINATION
   ========================================================= */
.woocommerce-pagination ul {
	list-style:     none;
	display:        flex;
	justify-content: center;
	gap:            0.5rem;
	padding:        3rem 0 1rem;
	margin:         0;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
	display:        flex;
	align-items:    center;
	justify-content: center;
	width:          2.5rem;
	height:         2.5rem;
	border:         1px solid var(--bb-border, #2e2b27);
	border-radius:  2px;
	color:          var(--bb-text, #e8e3db);
	font-size:      0.85rem;
	text-decoration: none;
	transition:     border-color 0.2s, color 0.2s;
}

.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
	border-color: var(--bb-accent, #c8351f);
	color:        var(--bb-accent, #c8351f);
}

/* =========================================================
   PRODUCT META (SKU / Categories)
   ========================================================= */
.product_meta {
	font-size:     0.8rem;
	color:         var(--bb-muted, #7a746c);
	letter-spacing: 0.04em;
	margin-top:    1.5rem;
	border-top:    1px solid var(--bb-border, #2e2b27);
	padding-top:   1rem;
}

.product_meta a {
	color: var(--bb-accent, #c8351f);
}

/* =========================================================
   QUANTITY INPUT
   ========================================================= */
.quantity .qty {
	width:       4.5rem !important;
	text-align:  center;
}

/* =========================================================
   VARIATIONS / SELECT
   ========================================================= */
.variations select {
	background: var(--bb-input-bg, #1a1815) !important;
	color:      var(--bb-text, #e8e3db) !important;
	border:     1px solid var(--bb-border, #2e2b27) !important;
}

.single_variation_wrap .woocommerce-variation-price .price {
	color: var(--bb-accent, #c8351f);
	font-size: 1.3rem;
	font-family: 'Bebas Neue', sans-serif;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media ( max-width: 767px ) {
	.woocommerce-form-login,
	.woocommerce-form-register {
		padding: 1.5rem;
	}

	.woocommerce-pagination ul li a,
	.woocommerce-pagination ul li span {
		width:  2rem;
		height: 2rem;
		font-size: 0.75rem;
	}
}
