/* Brasil Flores — WooCommerce CSS
   Estilos para tienda, producto, carrito, checkout */

/* ===========================
   SHOP / ARCHIVE
   =========================== */
.bf-shop-page {
	padding: var(--bf-space-6) 0 var(--bf-space-16);
}

.bf-shop-header {
	padding: var(--bf-space-8) 0 var(--bf-space-6);
	display: flex;
	flex-direction: column;
	gap: var(--bf-space-3);
}

.bf-shop-header__eyebrow {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--bf-green-600);
	font-weight: var(--bf-weight-bold);
	display: block;
}

.bf-shop-header__title {
	font-family: var(--bf-font-heading);
	font-size: clamp(1.9rem, 1.5rem + 1.6vw, 2.5rem);
	font-weight: var(--bf-weight-semibold);
	color: var(--bf-green-950);
	line-height: 1.1;
}

.bf-shop-header__subtitle {
	font-size: var(--bf-text-base);
	color: var(--bf-text-muted);
	margin: 0;
}

.bf-shop-header__desc {
	font-size: var(--bf-text-sm);
	color: var(--bf-text-muted);
	max-width: 60ch;
}

/* Filter bar */
.bf-shop-bar {
	display: flex;
	flex-direction: column;
	gap: var(--bf-space-4);
	padding: var(--bf-space-4) 0;
	border-top: 1px solid var(--bf-border);
	border-bottom: 1px solid var(--bf-border);
}

.bf-filter-chips {
	display: flex;
	gap: var(--bf-space-2);
	overflow-x: auto;
	padding-bottom: var(--bf-space-2);
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.bf-filter-chips::-webkit-scrollbar {
	display: none;
}

.bf-filter-chip {
	display: inline-flex;
	align-items: center;
	padding: var(--bf-space-2) var(--bf-space-4);
	background: var(--bf-card);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-full);
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-semibold);
	color: var(--bf-green-900);
	white-space: nowrap;
	transition: all var(--bf-transition-fast);
	min-height: 38px;
}

.bf-filter-chip:hover,
.bf-filter-chip--active {
	background: var(--bf-green-900);
	color: var(--bf-white);
	border-color: var(--bf-green-900);
}

.bf-shop-bar__sort {
	display: flex;
	justify-content: flex-start;
}

.bf-shop-bar__sort .woocommerce-ordering {
	margin: 0;
}

.bf-shop-bar__sort select {
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-full);
	padding: var(--bf-space-2) var(--bf-space-4);
	min-height: 42px;
	background: var(--bf-card);
	color: var(--bf-green-900);
	font-weight: var(--bf-weight-semibold);
	font-size: var(--bf-text-sm);
	appearance: none;
	padding-right: 2.2rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236e7b70' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
}

/* Shop meta */
.bf-shop-meta {
	display: flex;
	flex-direction: column;
	gap: var(--bf-space-1);
	padding: var(--bf-space-4) 0;
	font-size: var(--bf-text-sm);
	color: var(--bf-text-muted);
}

.bf-shop-meta__note {
	font-size: 12px;
	color: var(--bf-gray-500);
}

/* Pagination */
.bf-pagination {
	display: flex;
	gap: var(--bf-space-2);
	justify-content: center;
	padding: var(--bf-space-8) 0;
}

.bf-pagination a,
.bf-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 0 var(--bf-space-3);
	border: 1px solid var(--bf-green-200);
	border-radius: var(--bf-radius-md);
	font-weight: var(--bf-weight-bold);
	font-size: var(--bf-text-sm);
	color: var(--bf-green-700);
	background: transparent;
	transition: all var(--bf-transition-fast);
}

.bf-pagination a:hover,
.bf-pagination .current {
	background: var(--bf-green-900);
	color: var(--bf-white);
	border-color: var(--bf-green-900);
}

/* Empty state */
.bf-empty-state {
	text-align: center;
	padding: var(--bf-space-16) 0;
}

.bf-empty-state__text {
	font-size: var(--bf-text-base);
	color: var(--bf-text-muted);
	margin-bottom: var(--bf-space-6);
}

/* ===========================
   SINGLE PRODUCT
   =========================== */
.bf-product {
	padding: var(--bf-space-4) 0 var(--bf-space-16);
}

.bf-product__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bf-space-6);
}

/* Desktop: galería | información (la imagen no ocupa toda la pantalla) */
@media (min-width: 768px) {
	.bf-product__layout {
		grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
		align-items: start;
		gap: var(--bf-space-8);
	}

	.bf-product__back {
		grid-column: 1 / -1;
	}

	.bf-product__gallery {
		max-width: 520px;
	}
}

/* Gallery */
.bf-product__gallery {
	position: relative;
}

.bf-product__main-image {
	width: 100%;
	max-width: 520px;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 18px;
	background: var(--bf-green-50);
	border: 1px solid var(--bf-border);
}

.bf-product__main-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.bf-product__thumbnails {
	display: flex;
	gap: var(--bf-space-2);
	margin-top: var(--bf-space-3);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.bf-product__thumb {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: var(--bf-radius-md);
	overflow: hidden;
	border: 2px solid transparent;
	opacity: 0.6;
	transition: all var(--bf-transition-fast);
	cursor: pointer;
}

.bf-product__thumb--active,
.bf-product__thumb:hover {
	opacity: 1;
	border-color: var(--bf-primary);
}

.bf-product__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Info */
.bf-product__info {
	padding: var(--bf-space-4) 0;
}

.bf-product__category {
	font-size: var(--bf-text-xs);
	font-weight: var(--bf-weight-semibold);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--bf-primary);
	margin-bottom: var(--bf-space-2);
}

.bf-product__title {
	font-family: var(--bf-font-heading);
	font-size: var(--bf-text-3xl);
	font-weight: var(--bf-weight-black);
	color: var(--bf-green-900);
	margin-bottom: var(--bf-space-3);
}

.bf-product__price {
	font-family: var(--bf-font-ui);
	font-size: var(--bf-text-2xl);
	font-weight: var(--bf-weight-extrabold);
	color: var(--bf-primary);
	margin-bottom: var(--bf-space-4);
}

.bf-product__price del {
	font-size: var(--bf-text-lg);
	color: var(--bf-gray-500);
	font-weight: var(--bf-weight-normal);
	margin-left: var(--bf-space-3);
}

.bf-product__short-desc {
	font-size: var(--bf-text-base);
	color: var(--bf-text-muted);
	line-height: var(--bf-leading-relaxed);
	margin-bottom: var(--bf-space-6);
}

/* ===========================
   VARIATION SELECTOR (Visual)
   =========================== */
.bf-variations {
	margin-bottom: var(--bf-space-6);
}

.bf-variations__label {
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-semibold);
	color: var(--bf-text);
	margin-bottom: var(--bf-space-3);
}

.bf-variations__options {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bf-space-3);
}

.bf-variation-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: var(--bf-space-4) var(--bf-space-5);
	min-width: 100px;
	min-height: 80px;
	background: var(--bf-card);
	border: 2px solid var(--bf-border);
	border-radius: var(--bf-radius-xl);
	cursor: pointer;
	transition: all var(--bf-transition-fast);
	text-align: center;
	position: relative;
}

.bf-variation-btn:hover {
	border-color: var(--bf-primary);
	box-shadow: var(--bf-shadow-md);
}

.bf-variation-btn--selected {
	border-color: var(--bf-primary);
	background: var(--bf-green-50);
	box-shadow: 0 0 0 1px var(--bf-primary);
}

.bf-variation-btn--disabled {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
}

.bf-variation-btn__name {
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-bold);
	color: var(--bf-text);
	margin-bottom: var(--bf-space-1);
}

.bf-variation-btn__desc {
	font-size: var(--bf-text-xs);
	color: var(--bf-text-muted);
	margin-bottom: var(--bf-space-1);
}

.bf-variation-btn__price {
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-extrabold);
	color: var(--bf-primary);
}

.bf-variation-btn__badge {
	position: absolute;
	top: -8px;
	right: -8px;
	background: var(--bf-neon);
	color: var(--bf-black);
	font-size: 10px;
	font-weight: var(--bf-weight-extrabold);
	padding: 2px 8px;
	border-radius: var(--bf-radius-full);
	text-transform: uppercase;
}

/* ===========================
   ADD TO CART
   =========================== */
.bf-add-to-cart {
	display: flex;
	align-items: center;
	gap: var(--bf-space-4);
	margin-bottom: var(--bf-space-6);
}

.bf-add-to-cart__quantity {
	flex-shrink: 0;
}

.bf-add-to-cart__btn {
	flex: 1;
	padding: var(--bf-space-4);
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-extrabold);
	background: var(--bf-primary);
	color: var(--bf-white);
	border: none;
	border-radius: var(--bf-radius-full);
	cursor: pointer;
	transition: all var(--bf-transition-fast);
	min-height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--bf-space-2);
}

.bf-add-to-cart__btn:hover {
	background: var(--bf-dark);
	color: var(--bf-neon);
}

.bf-add-to-cart__btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* ==== Default WooCommerce ATC form (simple + variable) ==== */
.bf-product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--bf-space-4);
	margin-bottom: var(--bf-space-6);
}

/* Solo se oculta el <select> nativo de WooCommerce.
   El wrapper de variaciones (.variations / table.variations) NO se oculta:
   las tarjetas visuales (.bf-variation-*) quedan siempre visibles. */
.bf-product form.cart select[name^="attribute_"] {
	display: none !important;
}

.bf-product form.cart table.variations th.label,
.bf-product form.cart table.variations td.value {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.bf-product form.cart table.variations {
	margin: 0;
}

.bf-product form.cart div.quantity {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-full);
	background: var(--bf-white);
	overflow: hidden;
	flex-shrink: 0;
}

.bf-product form.cart div.quantity .qty {
	width: 84px;
	min-height: 52px;
	padding: 0 var(--bf-space-3);
	border: none;
	background: transparent;
	font-family: var(--bf-font-ui);
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-bold);
	text-align: center;
	color: var(--bf-text);
	-moz-appearance: textfield;
	appearance: textfield;
}

.bf-product form.cart div.quantity .qty::-webkit-outer-spin-button,
.bf-product form.cart div.quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.bf-product form.cart .single_add_to_cart_button,
.bf-product form.cart .woocommerce-variation-add-to-cart button {
	flex: 1;
	min-height: 52px;
	padding: var(--bf-space-4) var(--bf-space-6);
	font-family: var(--bf-font-ui);
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-extrabold);
	line-height: 1.2;
	background: var(--bf-primary);
	color: var(--bf-white);
	border: none;
	border-radius: var(--bf-radius-full);
	cursor: pointer;
	transition: all var(--bf-transition-fast);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--bf-space-2);
}

.bf-product form.cart .single_add_to_cart_button:hover,
.bf-product form.cart .woocommerce-variation-add-to-cart button:hover {
	background: var(--bf-dark);
	color: var(--bf-neon);
}

.bf-product form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--bf-space-4);
}

.bf-product form.cart .woocommerce-variation-add-to-cart div.quantity + button {
	flex: 1;
	min-width: 220px;
}

/* ===========================
   PRODUCT TRUST
   =========================== */
.bf-product-trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--bf-space-3);
	padding: var(--bf-space-6) 0;
	border-top: 1px solid var(--bf-border);
	border-bottom: 1px solid var(--bf-border);
	margin-bottom: var(--bf-space-8);
}

.bf-product-trust__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--bf-space-2);
	text-align: center;
}

.bf-product-trust__icon {
	width: 36px;
	height: 36px;
	background: var(--bf-green-100);
	border-radius: var(--bf-radius-full);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--bf-primary);
}

.bf-product-trust__text {
	font-size: var(--bf-text-xs);
	font-weight: var(--bf-weight-semibold);
	color: var(--bf-text);
}

.bf-product__coord-note {
	margin: calc(-1 * var(--bf-space-4)) 0 var(--bf-space-8);
	font-size: var(--bf-text-xs);
	color: var(--bf-text-muted, inherit);
	text-align: center;
}

/* ===========================
   RELATED PRODUCTS
   =========================== */
.bf-related {
	padding: var(--bf-space-12) 0;
}

.bf-related__title {
	font-family: var(--bf-font-heading);
	font-size: var(--bf-text-2xl);
	font-weight: var(--bf-weight-bold);
	margin-bottom: var(--bf-space-6);
	text-align: center;
}

/* ===========================
   CART PAGE
   =========================== */
.bf-cart {
	padding: var(--bf-space-8) 0;
}

.bf-cart__title {
	font-family: var(--bf-font-heading);
	font-size: var(--bf-text-3xl);
	font-weight: var(--bf-weight-bold);
	margin-bottom: var(--bf-space-6);
}

.bf-cart__empty {
	text-align: center;
	padding: var(--bf-space-16) 0;
}

.bf-cart__empty-text {
	font-size: var(--bf-text-lg);
	color: var(--bf-text-muted);
	margin-bottom: var(--bf-space-6);
}

/* ==== Cart redesign: cards 2 columnas (desktop) ==== */
.bf-cart__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bf-space-6);
	align-items: start;
}

.bf-cart__items {
	display: flex;
	flex-direction: column;
	gap: var(--bf-space-4);
}

.bf-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 96px 1fr auto;
	gap: var(--bf-space-4);
	align-items: start;
	padding: var(--bf-space-4);
	background: var(--bf-card);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-lg);
}

.bf-cart-item__media {
	width: 96px;
	height: 116px;
	border-radius: var(--bf-radius-md);
	overflow: hidden;
	background: var(--bf-green-50);
	flex-shrink: 0;
}

.bf-cart-item__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bf-cart-item__main {
	min-width: 0;
}

.bf-cart-item__name {
	margin: 0 0 var(--bf-space-2);
	font-family: var(--bf-font-heading);
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-semibold);
	line-height: 1.25;
}

.bf-cart-item__name a {
	color: var(--bf-green-950);
}

.bf-cart-item__name a:hover {
	color: var(--bf-green-700);
}

.bf-cart-item__meta {
	font-size: var(--bf-text-xs);
	color: var(--bf-text-muted);
	margin-bottom: var(--bf-space-3);
}

.bf-cart-item__meta .loading {
	display: none;
}

.bf-cart-item__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--bf-space-3);
}

.bf-cart-item__unit-price {
	font-size: var(--bf-text-sm);
	color: var(--bf-text-muted);
}

.bf-cart-item__subtotal {
	font-family: var(--bf-font-ui);
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-bold);
	color: var(--bf-green-950);
	margin-left: auto;
}

.bf-cart-item__backorder {
	display: block;
	margin-top: var(--bf-space-1);
}

.bf-cart-item__actions {
	display: flex;
}

.bf-cart-item__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	font-size: 22px;
	line-height: 1;
	color: var(--bf-text-muted);
	background: transparent;
	border: none;
	border-radius: var(--bf-radius-full);
	cursor: pointer;
	transition: all var(--bf-transition-fast);
}

.bf-cart-item__remove:hover {
	background: var(--bf-red-50, #fef2f2);
	color: var(--bf-red-600, #dc2626);
}

.bf-cart__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--bf-space-4);
	margin-top: var(--bf-space-4);
	padding: var(--bf-space-5) 0;
	border-top: 1px solid var(--bf-border);
}

.bf-cart__coupon-summary {
	cursor: pointer;
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-semibold);
	color: var(--bf-primary);
	padding: var(--bf-space-2) 0;
}

.bf-cart__coupon-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--bf-space-3);
	margin-top: var(--bf-space-3);
}

.bf-cart__coupon-input {
	flex: 1 1 160px;
	min-height: 42px;
	padding: var(--bf-space-2) var(--bf-space-4);
	background: var(--bf-white);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-full);
	font-family: var(--bf-font-ui);
	font-size: var(--bf-text-sm);
	color: var(--bf-text);
}

.bf-cart__summary .cart_totals {
	background: var(--bf-card);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-lg);
	padding: var(--bf-space-6);
}

.bf-cart__summary .cart_totals table {
	width: 100%;
	border-collapse: collapse;
}

.bf-cart__summary .cart_totals th,
.bf-cart__summary .cart_totals td {
	padding: var(--bf-space-3) 0;
	border-bottom: 1px solid var(--bf-border);
	font-size: var(--bf-text-sm);
}

.bf-cart__summary .cart_totals .order-total th,
.bf-cart__summary .cart_totals .order-total td {
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-bold);
	border-bottom: none;
}

.bf-cart__summary .cart_totals td {
	text-align: right;
}

.bf-cart__summary .bf-cart-total-note {
	margin: var(--bf-space-4) 0 0;
	font-size: var(--bf-text-xs);
	color: var(--bf-text-muted);
}

.bf-cart__summary .wc-proceed-to-checkout {
	display: flex;
	flex-direction: column;
	gap: var(--bf-space-3);
	margin-top: var(--bf-space-5);
}

.bf-cart__summary .wc-proceed-to-checkout .bf-btn {
	width: 100%;
}

@media (min-width: 1024px) {
	.bf-cart__grid {
		grid-template-columns: 1fr 380px;
	}

	.bf-cart-item {
		grid-template-columns: 110px 1fr auto;
	}

	.bf-cart-item__media {
		width: 110px;
		height: 132px;
	}
}

/* ===========================
   CHECKOUT
   =========================== */
.bf-checkout {
	padding: var(--bf-space-8) 0;
}

.bf-checkout__title {
	font-family: var(--bf-font-heading);
	font-size: var(--bf-text-3xl);
	font-weight: var(--bf-weight-bold);
	margin-bottom: var(--bf-space-6);
}

/* Wrap / layout */
.bf-checkout__wrap {
	padding: var(--bf-space-4) 0 var(--bf-space-16);
}

.bf-checkout__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bf-space-6);
}

.bf-checkout__main {
	min-width: 0;
}

/* Cupón en checkout (discreto). */
.bf-checkout__coupon-wrap {
	margin-bottom: var(--bf-space-2);
}

.bf-checkout__coupon-wrap .woocommerce-form-coupon-toggle .woocommerce-info {
	margin: 0 0 var(--bf-space-3);
	padding: var(--bf-space-3) var(--bf-space-4);
	background: var(--bf-green-50);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-lg);
	font-size: var(--bf-text-sm);
}

.bf-checkout__coupon-wrap .woocommerce-form-coupon-toggle .woocommerce-info::before {
	display: none;
}

.bf-checkout__coupon-wrap .woocommerce-form-coupon-toggle .showcoupon {
	color: var(--bf-primary);
	font-weight: var(--bf-weight-semibold);
}

.bf-checkout__coupon-wrap .checkout_coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--bf-space-3);
	margin: 0 0 var(--bf-space-3);
	padding: var(--bf-space-4);
	background: var(--bf-card);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-lg);
}

.bf-checkout__coupon-wrap .checkout_coupon .form-row {
	margin: 0;
}

.bf-checkout__coupon-wrap .checkout_coupon input.input-text {
	flex: 1 1 160px;
	min-height: 42px;
	padding: var(--bf-space-2) var(--bf-space-4);
	background: var(--bf-white);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-full);
	font-family: var(--bf-font-ui);
	font-size: var(--bf-text-sm);
	color: var(--bf-text);
}

.bf-checkout__coupon-wrap .checkout_coupon .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: var(--bf-space-2) var(--bf-space-5);
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-bold);
	background: transparent;
	color: var(--bf-green-700);
	border: 1px solid var(--bf-green-700);
	border-radius: var(--bf-radius-full);
	cursor: pointer;
	transition: all var(--bf-transition-fast);
}

.bf-checkout__coupon-wrap .checkout_coupon .button:hover {
	background: var(--bf-green-700);
	color: var(--bf-white);
}

/* Summary: collapsible on mobile, always visible on desktop */
.bf-checkout__summary {
	background: var(--bf-card);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-lg);
	overflow: hidden;
}

.bf-checkout__summary-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--bf-space-4);
	padding: var(--bf-space-4) var(--bf-space-5);
	border-bottom: 1px solid var(--bf-border);
}

.bf-checkout__summary-title {
	margin: 0;
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-bold);
	color: var(--bf-text);
	font-family: var(--bf-font-ui);
}

.bf-checkout__summary-trigger {
	display: inline-flex;
	align-items: center;
	gap: var(--bf-space-2);
	padding: 0;
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-semibold);
	color: var(--bf-primary);
	background: transparent;
	border: none;
	cursor: pointer;
}

.bf-checkout__summary-trigger-icon {
	transition: transform var(--bf-transition-base);
	display: inline-block;
}

.bf-checkout__summary-trigger[aria-expanded="true"] .bf-checkout__summary-trigger-icon {
	transform: rotate(180deg);
}

.bf-checkout__summary-inner {
	padding: var(--bf-space-5);
	max-height: 0;
	overflow: hidden;
	transition: max-height var(--bf-transition-base);
}

.bf-checkout__summary-inner.is-open {
	max-height: 2000px;
}

/* Sticky confirm bar (mobile) */
.bf-checkout__sticky {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 90;
	padding: var(--bf-space-3) var(--bf-container-padding) calc(var(--bf-space-3) + env(safe-area-inset-bottom));
	background: var(--bf-white);
	border-top: 1px solid var(--bf-border);
	box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
}

.bf-checkout__sticky-btn {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--bf-space-3);
	min-height: 52px;
	padding: var(--bf-space-3) var(--bf-space-6);
	background: var(--bf-primary);
	color: var(--bf-white);
	border: none;
	border-radius: var(--bf-radius-full);
	font-family: var(--bf-font-ui);
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-extrabold);
	cursor: pointer;
	transition: background var(--bf-transition-fast);
}

.bf-checkout__sticky-btn:hover {
	background: var(--bf-dark);
}

.bf-checkout__sticky-total {
	font-style: normal;
}

/* ===========================
   CHECKOUT — CAMPOS
   =========================== */

/* Campos fijos ocultos (país/ciudad/estado/CP). Reemplaza el CSS del snippet 873. */
.bf-woocommerce .brasilflores-hidden-field {
	display: none !important;
}

/* Aviso de datos de entrega. Reemplaza el CSS del snippet 873. */
.bf-woocommerce .bf-delivery-hint {
	background: var(--bf-green-50);
	border: 1px solid var(--bf-green-200);
	border-radius: var(--bf-radius-md);
	padding: var(--bf-space-3) var(--bf-space-4);
	margin: var(--bf-space-2) 0 var(--bf-space-4);
	font-size: var(--bf-text-sm);
	color: var(--bf-text);
}

/* Ocultar envío alternativo (el snippet ya fuerza esto por hook; se refuerza con CSS). */
.bf-woocommerce #ship-to-different-address,
.bf-woocommerce .woocommerce-shipping-fields {
	display: none !important;
}

/* ===========================
   CHECKOUT — AVISO ENVÍO A COORDINAR
   Regla comercial: el costo de entrega se confirma por WhatsApp.
   =========================== */
.bf-checkout__shipping-note {
	display: flex;
	align-items: flex-start;
	gap: var(--bf-space-3);
	margin-top: var(--bf-space-4);
	padding: var(--bf-space-3) var(--bf-space-4);
	border: 1px solid var(--bf-green-200);
	border-radius: var(--bf-radius-md);
	background: var(--bf-green-50);
	font-size: var(--bf-text-sm);
	line-height: 1.45;
	color: var(--bf-text);
}

.bf-checkout__shipping-note-icon {
	font-size: 18px;
	line-height: 1;
	flex-shrink: 0;
}

.bf-checkout__shipping-note-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.bf-checkout__shipping-note-body strong {
	color: var(--bf-primary);
}

.bf-checkout__shipping-note-body span {
	color: var(--bf-text-muted);
}

/* ===========================
   CHECKOUT — PAGO (payment)
   =========================== */
.bf-checkout__payment {
	margin-top: var(--bf-space-6);
}

.bf-checkout__payment #payment {
	background: var(--bf-card);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-lg);
	padding: var(--bf-space-4);
	margin-top: var(--bf-space-6);
}

.bf-checkout__payment #payment ul.payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--bf-space-4);
}

.bf-checkout__payment #payment ul.payment_methods li {
	padding: var(--bf-space-3) 0;
	border-bottom: 1px solid var(--bf-border);
}

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

.bf-checkout__payment #payment div.payment_box {
	background: var(--bf-green-50);
	border-left: 3px solid var(--bf-green-300);
	border-radius: var(--bf-radius-sm);
	padding: var(--bf-space-3) var(--bf-space-4);
	margin-top: var(--bf-space-3);
	font-size: var(--bf-text-sm);
	line-height: var(--bf-leading-relaxed);
}

.bf-checkout__payment #payment div.form-row {
	text-align: left;
	margin: var(--bf-space-4) 0 0;
}

.bf-checkout__payment #payment .place-order {
	margin-top: var(--bf-space-4);
}

.bf-checkout__payment #place_order {
	width: 100%;
}

/* ===========================
   CHECKOUT — ORDER REVIEW TABLE
   =========================== */
.bf-checkout table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--bf-text-sm);
}

.bf-checkout table.shop_table th,
.bf-checkout table.shop_table td {
	padding: var(--bf-space-3);
	border: 1px solid var(--bf-border);
}

.bf-checkout table.shop_table th {
	font-weight: var(--bf-weight-bold);
	background: var(--bf-green-50);
	color: var(--bf-text);
}

.bf-checkout table.shop_table .product-total,
.bf-checkout table.shop_table .order-total,
.bf-checkout table.shop_table .cart-subtotal,
.bf-checkout table.shop_table .shipping {
	text-align: right;
}

.bf-checkout table.shop_table tfoot th,
.bf-checkout table.shop_table tfoot td {
	font-weight: var(--bf-weight-bold);
	border-top-width: 2px;
}

/* ===========================
   CHECKOUT — TYPOGRAPHY DEL  BFS
   =========================== */
.bf-checkout .woocommerce-checkout h3 {
	font-family: var(--bf-font-ui);
	font-size: var(--bf-text-lg);
	font-weight: var(--bf-weight-bold);
	color: var(--bf-text);
	margin: var(--bf-space-6) 0 var(--bf-space-4);
}

/* ===========================
   SALE BADGE
   =========================== */
.bf-sale-badge {
	position: absolute;
	top: var(--bf-space-3);
	left: var(--bf-space-3);
	background: var(--bf-neon);
	color: var(--bf-black);
	font-size: var(--bf-text-xs);
	font-weight: var(--bf-weight-extrabold);
	padding: var(--bf-space-1) var(--bf-space-3);
	border-radius: var(--bf-radius-full);
	z-index: 1;
}

/* ===========================
   OUT OF STOCK
   =========================== */
.bf-out-of-stock {
	background: var(--bf-gray-100);
	color: var(--bf-gray-600);
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-semibold);
	padding: var(--bf-space-2) var(--bf-space-4);
	border-radius: var(--bf-radius-full);
	display: inline-block;
}

/* ===========================
   WOOCOMMERCE OVERRIDES
   =========================== */

/* Remove default WooCommerce borders/padding on shop page */
.woocommerce ul.products {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce ul.products li.product {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	float: none;
	width: 100%;
}

.woocommerce .woocommerce-ordering {
	margin: 0 0 var(--bf-space-4);
}

.woocommerce .woocommerce-result-count {
	font-size: var(--bf-text-sm);
	color: var(--bf-text-muted);
}

/* Cart / Checkout form styling */
.woocommerce form .form-row {
	margin-bottom: var(--bf-space-4);
}

.woocommerce form input.input-text,
.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="tel"],
.woocommerce form select,
.woocommerce form textarea {
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-md);
	padding: var(--bf-space-3) var(--bf-space-4);
	min-height: 44px;
	font-size: var(--bf-text-base);
	width: 100%;
	background: var(--bf-card);
	transition: border-color var(--bf-transition-fast);
}

.woocommerce form input:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
	border-color: var(--bf-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(59, 140, 77, 0.1);
}

/* WooCommerce buttons */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button {
	font-family: var(--bf-font-ui);
	font-weight: var(--bf-weight-bold);
	border-radius: var(--bf-radius-full) !important;
	background: var(--bf-primary) !important;
	color: var(--bf-white) !important;
	border: none !important;
	padding: var(--bf-space-3) var(--bf-space-6) !important;
	min-height: 44px;
	transition: all var(--bf-transition-fast) !important;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover {
	background: var(--bf-dark) !important;
	color: var(--bf-neon) !important;
}

/* Product tabs */
woocommerce-tabs .tabs {
	display: flex;
	gap: var(--bf-space-2);
	border: none;
	padding: 0;
	margin: 0 0 var(--bf-space-6);
}

woocommerce-tabs .tabs li {
	border: none;
	background: none;
	margin: 0;
}

woocommerce-tabs .tabs li a {
	padding: var(--bf-space-3) var(--bf-space-5);
	border-radius: var(--bf-radius-full);
	font-weight: var(--bf-weight-semibold);
	font-size: var(--bf-text-sm);
	color: var(--bf-text-muted);
	background: var(--bf-card);
	border: 1px solid var(--bf-border);
	transition: all var(--bf-transition-fast);
}

woocommerce-tabs .tabs li.active a {
	background: var(--bf-primary);
	color: var(--bf-white);
	border-color: var(--bf-primary);
}

/* ===========================
   SHOP BAR — TABLET/DESKTOP
   =========================== */
@media (min-width: 768px) {
	.bf-shop-bar {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}

	.bf-filter-chips {
		flex-wrap: wrap;
		overflow: visible;
	}

	.bf-shop-bar__sort {
		justify-content: flex-end;
		flex-shrink: 0;
	}

	.bf-shop-meta {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

/* ===========================
   PRODUCT — BACK + ACCORDIONS
   =========================== */
.bf-product__back {
	display: inline-flex;
	align-items: center;
	gap: var(--bf-space-2);
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-semibold);
	color: var(--bf-green-700);
	margin-bottom: var(--bf-space-4);
	transition: color var(--bf-transition-fast);
}

.bf-product__back:hover {
	color: var(--bf-green-900);
}

.bf-product__accordions {
	margin-top: var(--bf-space-8);
	border-top: 1px solid var(--bf-border);
}

.bf-acc {
	border-bottom: 1px solid var(--bf-border);
}

.bf-acc__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--bf-space-4) 0;
	font-family: var(--bf-font-ui);
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-bold);
	color: var(--bf-green-950);
	cursor: pointer;
	list-style: none;
}

.bf-acc__summary::-webkit-details-marker {
	display: none;
}

.bf-acc__summary::after {
	content: '+';
	font-size: var(--bf-text-xl);
	color: var(--bf-green-700);
	transition: transform var(--bf-transition-base);
}

.bf-acc[open] .bf-acc__summary::after {
	content: '\2212';
}

.bf-acc__content {
	padding: 0 0 var(--bf-space-5);
	color: var(--bf-text-muted);
	font-size: var(--bf-text-sm);
	line-height: var(--bf-leading-relaxed);
}

.bf-acc__content p {
	margin-bottom: var(--bf-space-3);
}

/* Additional info table inside accordion */
.bf-acc__content .shop_attributes {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--bf-text-sm);
}

.bf-acc__content .shop_attributes th,
.bf-acc__content .shop_attributes td {
	text-align: left;
	padding: var(--bf-space-2) var(--bf-space-3);
	border-bottom: 1px solid var(--bf-border);
}

.bf-acc__content .shop_attributes th {
	font-weight: var(--bf-weight-bold);
	color: var(--bf-green-900);
	width: 40%;
}

/* ===========================
   CHECKOUT — PREMIUM
   =========================== */
.bf-checkout {
	padding: var(--bf-space-6) 0 var(--bf-space-16);
	max-width: var(--bf-container);
	margin-inline: auto;
}

.bf-checkout__back {
	display: inline-flex;
	align-items: center;
	gap: var(--bf-space-2);
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-semibold);
	color: var(--bf-green-700);
	margin-bottom: var(--bf-space-4);
	transition: color var(--bf-transition-fast);
}

.bf-checkout__back:hover {
	color: var(--bf-green-900);
}

.bf-checkout__header {
	margin-bottom: var(--bf-space-8);
}

.bf-checkout__title {
	font-family: var(--bf-font-heading);
	font-size: clamp(1.9rem, 1.5rem + 1.6vw, 2.5rem);
	color: var(--bf-green-950);
	margin-bottom: var(--bf-space-2);
}

.bf-checkout__subtitle {
	font-size: var(--bf-text-base);
	color: var(--bf-text-muted);
	margin: 0;
}

.bf-checkout__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bf-space-8);
	align-items: start;
}

.bf-checkout__section {
	background: var(--bf-card);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-xl);
	padding: var(--bf-space-6);
	margin-bottom: var(--bf-space-6);
}

.bf-checkout__section-title {
	display: flex;
	align-items: center;
	gap: var(--bf-space-3);
	font-family: var(--bf-font-ui);
	font-size: var(--bf-text-lg);
	font-weight: var(--bf-weight-bold);
	color: var(--bf-green-950);
	margin-bottom: var(--bf-space-5);
}

.bf-checkout__step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--bf-radius-full);
	background: var(--bf-green-900);
	color: var(--bf-white);
	font-size: 13px;
	font-weight: var(--bf-weight-bold);
	flex-shrink: 0;
}

/* Form fields */
.bf-checkout .form-row {
	margin-bottom: var(--bf-space-4);
}

.bf-checkout .form-row label {
	display: block;
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-semibold);
	color: var(--bf-green-900);
	margin-bottom: var(--bf-space-2);
}

.bf-checkout .form-row input.input-text,
.bf-checkout .form-row input[type="text"],
.bf-checkout .form-row input[type="tel"],
.bf-checkout .form-row input[type="date"],
.bf-checkout .form-row select,
.bf-checkout .form-row textarea {
	width: 100%;
	min-height: 52px;
	padding: var(--bf-space-3) var(--bf-space-4);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-md);
	background: var(--bf-white);
	color: var(--bf-text);
	font-size: var(--bf-text-base);
	transition: border-color var(--bf-transition-fast), box-shadow var(--bf-transition-fast);
}

.bf-checkout .form-row textarea {
	min-height: 96px;
	resize: vertical;
}

.bf-checkout .form-row input:focus,
.bf-checkout .form-row select:focus,
.bf-checkout .form-row textarea:focus {
	border-color: var(--bf-green-600);
	outline: none;
	box-shadow: 0 0 0 3px rgba(35, 97, 70, 0.12);
}

/* Details accordion */
.bf-checkout__details {
	border-top: 1px solid var(--bf-border);
	margin-top: var(--bf-space-2);
}

.bf-checkout__details-summary {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--bf-space-2);
	padding: var(--bf-space-4) 0;
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-bold);
	color: var(--bf-green-700);
	cursor: pointer;
	list-style: none;
}

.bf-checkout__details-hint {
	flex-basis: 100%;
	margin-bottom: var(--bf-space-1);
	font-size: var(--bf-text-xs);
	font-weight: var(--bf-weight-normal);
	line-height: 1.5;
	color: var(--bf-text-muted);
}

.bf-checkout__details-summary::-webkit-details-marker {
	display: none;
}

.bf-checkout__details-body {
	padding: 0 0 var(--bf-space-4);
}

/* Summary */
.bf-checkout__summary {
	background: var(--bf-card);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-xl);
	overflow: hidden;
}

.bf-checkout__summary-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--bf-space-3);
	padding: var(--bf-space-5) var(--bf-space-6);
	background: var(--bf-green-900);
	color: var(--bf-white);
	cursor: pointer;
}

.bf-checkout__summary-head-label {
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-bold);
}

.bf-checkout__summary-head-total {
	font-size: var(--bf-text-lg);
	font-weight: var(--bf-weight-bold);
	color: var(--bf-gold);
	margin-left: auto;
}

.bf-checkout__summary-head-icon {
	font-size: 12px;
	transition: transform var(--bf-transition-base);
}

.bf-checkout__summary-head[aria-expanded="true"] .bf-checkout__summary-head-icon {
	transform: rotate(180deg);
}

.bf-checkout__summary-body {
	padding: var(--bf-space-5) var(--bf-space-6);
}

/* Order review table */
.bf-checkout__summary-body table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--bf-text-sm);
}

.bf-checkout__summary-body table.shop_table th,
.bf-checkout__summary-body table.shop_table td {
	text-align: left;
	vertical-align: middle;
	padding: 14px 16px;
	border-bottom: 1px solid var(--bf-border);
}

@media (max-width: 480px) {
	.bf-checkout__summary-body table.shop_table th,
	.bf-checkout__summary-body table.shop_table td {
		padding: 12px 12px;
	}
}

.bf-checkout__summary-body table.shop_table thead th {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--bf-text-muted);
}

.bf-checkout__summary-body table.shop_table tfoot tr:last-child td,
.bf-checkout__summary-body table.shop_table tfoot tr:last-child th {
	border-bottom: none;
}

.bf-checkout__summary-body table.shop_table tfoot .order-total td,
.bf-checkout__summary-body table.shop_table tfoot .order-total th {
	font-weight: var(--bf-weight-bold);
	font-size: var(--bf-text-base);
	color: var(--bf-green-950);
	border-top: 2px solid var(--bf-border);
}

.bf-checkout__summary-body table.shop_table tfoot .order-total .amount {
	color: var(--bf-green-700);
}

.bf-checkout__summary-body table.shop_table tfoot .shipping td,
.bf-checkout__summary-body table.shop_table tfoot .shipping th {
	color: var(--bf-green-600);
	font-weight: var(--bf-weight-semibold);
}

/* Coupon — discreet */
.woocommerce-form-coupon-toggle {
	margin: var(--bf-space-4) 0;
}

.woocommerce-form-coupon-toggle .woocommerce-info {
	background: var(--bf-green-50);
	border: none;
	border-radius: var(--bf-radius-md);
	padding: var(--bf-space-3) var(--bf-space-4);
	color: var(--bf-text-muted);
	font-size: var(--bf-text-sm);
}

/* Free shipping notice */
.woocommerce-info,
.woocommerce-message {
	background: var(--bf-green-50);
	border: none;
	border-left: 3px solid var(--bf-green-600);
	border-radius: var(--bf-radius-md);
	padding: var(--bf-space-3) var(--bf-space-4);
	color: var(--bf-green-900);
	font-size: var(--bf-text-sm);
}

/* Payment */
.bf-checkout__payment #payment {
	background: transparent;
}

.bf-checkout__payment ul.payment_methods {
	list-style: none;
	padding: 0;
	margin: 0;
}

.bf-checkout__payment ul.payment_methods li {
	background: var(--bf-white);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-lg);
	padding: var(--bf-space-4);
	margin-bottom: var(--bf-space-3);
	display: flex;
	align-items: flex-start;
	gap: var(--bf-space-3);
	transition: border-color var(--bf-transition-fast), box-shadow var(--bf-transition-fast);
}

.bf-checkout__payment ul.payment_methods li input[type="radio"] {
	accent-color: var(--bf-green-700);
	margin-top: 4px;
	flex-shrink: 0;
}

.bf-checkout__payment ul.payment_methods li label {
	font-weight: var(--bf-weight-bold);
	color: var(--bf-green-950);
	font-size: var(--bf-text-sm);
}

.bf-checkout__payment ul.payment_methods li .payment_box {
	width: 100%;
	margin-top: var(--bf-space-2);
	font-size: var(--bf-text-sm);
	color: var(--bf-text-muted);
}

.bf-checkout__payment .form-row.place-order {
	margin-top: var(--bf-space-5);
}

.bf-checkout__payment #place_order {
	width: 100%;
	min-height: 54px;
	background: var(--bf-green-700);
	color: var(--bf-white);
	border: none;
	border-radius: var(--bf-radius-full);
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-bold);
	cursor: pointer;
	transition: background var(--bf-transition-fast);
}

.bf-checkout__payment #place_order:hover {
	background: var(--bf-green-800);
}

/* Sticky confirm bar (mobile) */
.bf-checkout__sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 95;
	background: var(--bf-white);
	border-top: 1px solid var(--bf-border);
	box-shadow: 0 -6px 20px rgba(13, 51, 32, 0.1);
	padding: var(--bf-space-3) var(--bf-gutter);
	padding-bottom: calc(var(--bf-space-3) + env(safe-area-inset-bottom));
	display: flex;
	align-items: center;
	gap: var(--bf-space-3);
}

.bf-checkout__sticky-label {
	font-size: var(--bf-text-xs);
	color: var(--bf-text-muted);
}

.bf-checkout__sticky-total {
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-bold);
	color: var(--bf-green-900);
}

.bf-checkout__sticky-btn {
	margin-left: auto;
	min-height: 48px;
}

/* Desktop: two columns, summary always visible */
@media (min-width: 768px) {
	.bf-checkout__layout {
		grid-template-columns: 1.5fr 1fr;
		gap: var(--bf-space-8);
	}

	.bf-checkout__summary-head {
		cursor: default;
	}

	.bf-checkout__summary-head-icon {
		display: none;
	}

	.bf-checkout__sticky {
		display: none;
	}
}

/* Summary collapse on mobile */
.bf-checkout__summary-body {
	display: none;
}

.bf-checkout__summary.is-open .bf-checkout__summary-body {
	display: block;
}

@media (min-width: 768px) {
	.bf-checkout__summary-body {
		display: block !important;
	}
}

/* ===========================
   ENVÍO A COORDINAR — totales y pagos
   =========================== */

/* El total nunca se muestra como monto definitivo. */
.bf-total-confirmar {
	color: var(--bf-green-700);
	font-weight: var(--bf-weight-bold);
}

/* Sticky: meta + nota + botón apilados */
.bf-checkout__sticky {
	flex-direction: column;
	align-items: stretch;
	gap: var(--bf-space-2);
}

.bf-checkout__sticky-meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--bf-space-2);
}

.bf-checkout__sticky-total {
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-bold);
	color: var(--bf-green-800);
}

.bf-checkout__sticky-note {
	display: block;
	font-size: 12px;
	color: var(--bf-text-muted);
	line-height: 1.4;
}

.bf-checkout__sticky-btn {
	width: 100%;
	margin-left: 0;
}

/* Selector de envío nativo oculto (sigue en el DOM para el POST). */
.bf-checkout .woocommerce-shipping-totals ul#shipping_method {
	display: none !important;
}

.bf-shipping-static {
	color: var(--bf-green-700);
	font-weight: var(--bf-weight-semibold);
}

/* Nota compacta bajo el bloque de pago (desktop). */
.bf-checkout__payment-note {
	margin-top: var(--bf-space-3);
	font-size: var(--bf-text-sm);
	color: var(--bf-text-muted);
	text-align: center;
}

/* Descripciones de pago (BACS / COD) en checkout. */
.bf-pay-coord p {
	margin: 0 0 6px;
}

.bf-pay-coord p:last-child {
	margin: 0;
}

.bf-pay-coord__lead {
	color: var(--bf-green-900);
}

.bf-pay-coord__warn {
	margin-top: 8px;
	padding: 8px 10px;
	border-radius: 8px;
	background: #fff7ed;
	border: 1px solid #f4d0a5;
	color: #9a5b1f;
	font-weight: var(--bf-weight-bold);
}

/* Nota al pie de los totales del carrito. */
.bf-cart-total-note {
	margin: 10px 0 16px;
	font-size: 12px;
	color: var(--bf-text-muted);
}

/* Radios de método de envío en el carrito clásico (solo POST, invisibles). */
.bf-hidden-shipping-radio {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

/* ===========================
   ERROR INLINE — AÑADIR AL CARRITO
   =========================== */
.bf-atc-error {
	margin: 0 0 var(--bf-space-4);
	padding: var(--bf-space-3) var(--bf-space-4);
	font-size: var(--bf-text-sm);
	font-weight: var(--bf-weight-semibold);
	color: #9b1c1c;
	background: #fdeaea;
	border: 1px solid #f5c6c6;
	border-radius: var(--bf-radius-lg);
}

/* ===========================
   MODAL — AGREGADO CORRECTAMENTE
   =========================== */
.bf-atc-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	align-items: flex-end;
	justify-content: center;
}

.bf-atc-modal.is-open {
	display: flex;
}

.bf-atc-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(7, 27, 17, 0.55);
	backdrop-filter: blur(2px);
}

.bf-atc-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 440px;
	margin: 0 auto;
	background: var(--bf-cream);
	border-radius: var(--bf-radius-xl) var(--bf-radius-xl) 0 0;
	padding: var(--bf-space-8) var(--bf-space-6) calc(var(--bf-space-8) + env(safe-area-inset-bottom, 0px));
	box-shadow: 0 -12px 40px rgba(13, 51, 32, 0.25);
	transform: translateY(105%);
	transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.bf-atc-modal.is-open .bf-atc-modal__dialog {
	transform: translateY(0);
}

.bf-atc-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	background: var(--bf-white);
	color: var(--bf-text);
	border: 1px solid var(--bf-border);
	border-radius: var(--bf-radius-full);
	cursor: pointer;
	transition: all var(--bf-transition-fast);
}

.bf-atc-modal__close:hover {
	background: var(--bf-green-50);
	color: var(--bf-primary);
}

.bf-atc-modal__check {
	width: 56px;
	height: 56px;
	margin: 0 auto var(--bf-space-4);
	display: grid;
	place-items: center;
	background: var(--bf-green-100);
	color: var(--bf-green-700);
	border-radius: var(--bf-radius-full);
}

.bf-atc-modal__title {
	margin: 0 0 var(--bf-space-1);
	font-family: var(--bf-font-heading);
	font-size: var(--bf-text-xl);
	font-weight: var(--bf-weight-bold);
	color: var(--bf-green-900);
	text-align: center;
}

.bf-atc-modal__product {
	margin: 0 0 2px;
	color: var(--bf-text);
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-bold);
	text-align: center;
}

.bf-atc-modal__detail {
	color: var(--bf-text-muted);
	font-size: var(--bf-text-sm);
	text-align: center;
}

.bf-atc-modal__actions {
	display: grid;
	gap: var(--bf-space-3);
	margin-top: var(--bf-space-6);
}

.bf-atc-modal__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: var(--bf-space-3) var(--bf-space-6);
	font-family: var(--bf-font-ui);
	font-size: var(--bf-text-base);
	font-weight: var(--bf-weight-bold);
	line-height: 1.2;
	border-radius: var(--bf-radius-full);
	cursor: pointer;
	transition: all var(--bf-transition-fast);
	text-decoration: none;
}

.bf-atc-modal__btn--primary {
	background: var(--bf-green-700);
	color: var(--bf-white);
	border: 1px solid var(--bf-green-700);
}

.bf-atc-modal__btn--primary:hover {
	background: var(--bf-green-800);
	border-color: var(--bf-green-800);
	color: var(--bf-white);
}

.bf-atc-modal__btn--secondary {
	background: var(--bf-white);
	color: var(--bf-green-700);
	border: 1px solid var(--bf-green-700);
}

.bf-atc-modal__btn--secondary:hover {
	background: var(--bf-green-50);
}

body.bf-atc-modal-open {
	overflow: hidden;
}

@media (min-width: 768px) {
	.bf-atc-modal {
		align-items: center;
		padding: var(--bf-space-4);
	}

	.bf-atc-modal__dialog {
		max-width: 420px;
		border-radius: 18px;
		margin: 0;
		transform: translateY(24px) scale(0.97);
		opacity: 0;
	}

	.bf-atc-modal.is-open .bf-atc-modal__dialog {
		transform: none;
		opacity: 1;
	}
}
