/* =============================================================================
   Los Caseros — Shop / WooCommerce (Fase 4)
   Product card · grid · badges · shop header · filtros modal · rieles · ofertas
   ============================================================================= */

/* Botón variantes extra (extienden .lc-btn de base.css) */
.lc-btn--sm { padding: 8px 16px; font-size: 12px; }
.lc-btn--block { width: 100%; }
.lc-btn--secondary {
	background: transparent;
	color: var(--lc-green-800);
	box-shadow: inset 0 0 0 1.5px var(--lc-green-800);
}
.lc-btn--secondary:hover { background: var(--lc-green-100); color: var(--lc-green-800); }

/* ============================ PRODUCT GRID =============================== */
.woocommerce ul.products,
ul.products.lc-product-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; }

@media (max-width: 980px) { .woocommerce ul.products, ul.products.lc-product-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
@media (max-width: 760px)  { .woocommerce ul.products, ul.products.lc-product-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; } }

/* ============================ PRODUCT CARD ============================== */
.woocommerce ul.products li.product.lc-card,
li.product.lc-card {
	width: 100%;
	float: none;
	background: var(--lc-cream-50);
	border-radius: 18px;
	box-shadow: var(--lc-shadow-sm);
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	transition: transform 220ms var(--lc-ease-organic), box-shadow 220ms var(--lc-ease);
}
li.product.lc-card .lc-card__link,
li.product.lc-card .lc-card__body,
li.product.lc-card .lc-card__action { width: 100%; }
li.product.lc-card::before { content: none; }
li.product.lc-card:hover { transform: translateY(-4px); box-shadow: var(--lc-shadow-lg); }

.lc-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	padding: 4px 11px;
	border-radius: var(--lc-radius-pill);
	font-size: 11px;
	font-weight: var(--lc-w-bold);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-family: var(--lc-font-body);
	line-height: 1.4;
}
.lc-badge--sale { background: var(--lc-sale); color: #fff; }
.lc-badge--out  { background: var(--lc-ink-900); color: var(--lc-cream-100); }

.lc-card__wish {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	background: rgba(255, 253, 248, 0.92);
	border: 0;
	width: 34px;
	height: 34px;
	border-radius: var(--lc-radius-pill);
	cursor: pointer;
	color: var(--lc-ink-700);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--lc-shadow-sm);
	backdrop-filter: blur(4px);
	transition: color var(--lc-dur-fast) var(--lc-ease), background var(--lc-dur-fast) var(--lc-ease);
}
.lc-card__wish:hover { color: var(--lc-sale); background: var(--lc-cream-50); }

.lc-card__link { display: flex; flex-direction: column; flex: 1; text-decoration: none; color: inherit; }
.lc-card__media {
	aspect-ratio: 1 / 1;
	width: 100%;
	background: var(--lc-cream-200);
	overflow: hidden;
	position: relative;
}
.lc-card__media.is-oos { opacity: 0.55; }
.lc-card__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	margin: 0;
	transition: transform 320ms var(--lc-ease-organic);
}
li.product.lc-card:hover .lc-card__media img { transform: scale(1.05); }
.lc-card__ph { position: absolute; inset: 0; color: var(--lc-brown-500); display: flex; align-items: center; justify-content: center; }

.lc-card__body { padding: 14px 16px 8px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.lc-card__cat { font-size: 10px; color: var(--lc-green-700); text-transform: uppercase; letter-spacing: 0.12em; font-weight: var(--lc-w-semibold); font-family: var(--lc-font-body); }
.lc-card__name { font-size: 14px; font-weight: var(--lc-w-semibold); line-height: 1.3; color: var(--lc-ink-900); font-family: var(--lc-font-body); text-wrap: balance; min-height: 36px; margin: 0; }
.lc-card__price { margin-top: auto; padding-top: 8px; font-family: var(--lc-font-body); display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.lc-card__price del { text-decoration: line-through; color: var(--lc-ink-300); font-weight: var(--lc-w-medium); font-size: 13px; opacity: 1; }
.lc-card__price ins { text-decoration: none; background: transparent; color: var(--lc-sale); font-weight: var(--lc-w-bold); font-size: 18px; }
.lc-card__price ins .amount { color: var(--lc-sale); }
.single-product div.product p.price ins .amount { color: var(--lc-sale); }
.lc-card__price > .amount { color: var(--lc-green-800); font-weight: var(--lc-w-bold); font-size: 18px; }
.lc-card__price del .amount { color: var(--lc-ink-300); }

.lc-card__action { padding: 0 16px 16px; }
.lc-card__action .lc-btn.added { opacity: 0.8; }
.lc-card__action .added_to_cart { display: none; }

/* ============================ SHOP HEADER =============================== */
.lc-shop-head { margin-bottom: 32px; }
.lc-shop-head__sub { font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; font-weight: var(--lc-w-semibold); color: var(--lc-green-700); font-family: var(--lc-font-body); }
.lc-shop-head__title { font-family: var(--lc-font-body); font-weight: var(--lc-w-extrabold); font-size: 36px; color: var(--lc-green-800); margin: 6px 0; letter-spacing: -0.01em; }
.lc-shop-head__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 8px; flex-wrap: wrap; }
.lc-shop-count { font-size: 14px; color: var(--lc-ink-500); font-family: var(--lc-font-body); }
.lc-shop-count b { color: var(--lc-ink-900); font-weight: var(--lc-w-bold); }

.lc-filtros-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--lc-font-body);
	font-size: 13px;
	font-weight: var(--lc-w-semibold);
	color: var(--lc-green-800);
	background: var(--lc-cream-50);
	border: 1px solid var(--lc-border-strong);
	border-radius: var(--lc-radius-pill);
	padding: 9px 16px;
	cursor: pointer;
	box-shadow: var(--lc-shadow-xs);
	transition: background var(--lc-dur-fast) var(--lc-ease), color var(--lc-dur-fast) var(--lc-ease), border-color var(--lc-dur-fast) var(--lc-ease);
}
.lc-filtros-btn.is-active { background: var(--lc-green-800); color: var(--lc-cream-100); border-color: var(--lc-green-800); }
.lc-filtros-btn__count { min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--lc-radius-pill); background: var(--lc-cream-50); color: var(--lc-green-800); font-size: 11px; font-weight: var(--lc-w-extrabold); display: none; align-items: center; justify-content: center; }
.lc-filtros-btn.is-active .lc-filtros-btn__count { display: inline-flex; }

/* Empty state */
.lc-shop-empty { background: var(--lc-cream-50); border-radius: 18px; padding: 60px; text-align: center; color: var(--lc-ink-500); font-family: var(--lc-font-body); }
.lc-shop-empty__icon { color: var(--lc-ink-300); margin-bottom: 12px; display: inline-flex; }
.lc-shop-empty__title { font-size: 16px; font-weight: var(--lc-w-semibold); color: var(--lc-ink-900); }

/* ============================ FILTROS MODAL ============================ */
.lc-filter-overlay {
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: rgba(27, 26, 18, 0.45);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.lc-filter-overlay.is-open { display: flex; }
.lc-filter-dialog {
	width: 100%;
	max-width: 440px;
	background: var(--lc-cream-50);
	border-radius: 20px;
	border: 1px solid var(--lc-border);
	box-shadow: 0 24px 60px rgba(60, 38, 3, 0.28);
	font-family: var(--lc-font-body);
	overflow: hidden;
	transform: translateY(12px) scale(0.985);
	transition: transform 200ms var(--lc-ease-organic);
}
.lc-filter-overlay.is-open .lc-filter-dialog { transform: none; }
.lc-filter__head { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--lc-divider); }
.lc-filter__head h3 { margin: 0; font-size: 18px; font-weight: var(--lc-w-extrabold); color: var(--lc-green-800); display: inline-flex; align-items: center; gap: 10px; }
.lc-filter__close { width: 36px; height: 36px; border-radius: var(--lc-radius-pill); border: 1px solid var(--lc-border); background: var(--lc-cream-100); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; color: var(--lc-ink-700); }
.lc-filter__body { padding: 24px; }
.lc-filter__label { font-size: 13px; font-weight: var(--lc-w-bold); color: var(--lc-ink-900); margin-bottom: 14px; }
.lc-filter__group { margin-bottom: 28px; }
.lc-filter__group:last-child { margin-bottom: 0; }

.lc-dualrange { position: relative; height: 34px; margin: 0 6px 16px; }
.lc-dualrange .lc-track, .lc-dualrange .lc-fill { position: absolute; top: 15px; height: 4px; border-radius: var(--lc-radius-pill); }
.lc-dualrange .lc-track { left: 0; right: 0; background: var(--lc-border); }
.lc-dualrange .lc-fill { background: var(--lc-green-800); }
.lc-dualrange input[type=range] { position: absolute; top: 0; left: 0; width: 100%; height: 34px; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.lc-dualrange input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; pointer-events: auto; width: 20px; height: 20px; border-radius: 50%; background: var(--lc-cream-50); border: 2px solid var(--lc-green-800); box-shadow: 0 1px 4px rgba(60, 38, 3, 0.3); cursor: pointer; }
.lc-dualrange input[type=range]::-moz-range-thumb { pointer-events: auto; width: 20px; height: 20px; border-radius: 50%; background: var(--lc-cream-50); border: 2px solid var(--lc-green-800); box-shadow: 0 1px 4px rgba(60, 38, 3, 0.3); cursor: pointer; }
.lc-dualrange input[type=range]::-webkit-slider-runnable-track { background: none; border: none; }
.lc-dualrange input[type=range]::-moz-range-track { background: none; border: none; }

.lc-price-fields { display: flex; align-items: flex-end; gap: 14px; }
.lc-price-field { flex: 1; }
.lc-price-field span.lc-pf-label { display: block; font-size: 11px; color: var(--lc-ink-500); margin-bottom: 6px; font-weight: var(--lc-w-semibold); }
.lc-price-field__input { display: flex; align-items: center; gap: 6px; border: 1px solid var(--lc-border-strong); border-radius: 12px; padding: 10px 12px; background: var(--lc-cream-50); }
.lc-price-field__input span { font-size: 13px; color: var(--lc-ink-300); font-weight: var(--lc-w-semibold); }
.lc-price-field__input input { border: 0; outline: none; background: transparent; width: 100%; font-family: var(--lc-font-body); font-size: 14px; font-weight: var(--lc-w-bold); color: var(--lc-ink-900); min-width: 0; }
.lc-price-sep { flex: 0 0 auto; height: 1px; width: 14px; background: var(--lc-border-strong); margin-bottom: 19px; }

.lc-stock-seg { display: flex; gap: 8px; background: var(--lc-cream-100); padding: 4px; border-radius: var(--lc-radius-pill); border: 1px solid var(--lc-border); }
.lc-stock-seg button { flex: 1; padding: 9px 8px; border-radius: var(--lc-radius-pill); border: 0; cursor: pointer; font-family: var(--lc-font-body); font-size: 13px; font-weight: var(--lc-w-semibold); background: transparent; color: var(--lc-ink-500); transition: background 0.15s ease, color 0.15s ease; }
.lc-stock-seg button.is-active { background: var(--lc-green-800); color: var(--lc-cream-50); }

.lc-filter__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 24px; border-top: 1px solid var(--lc-divider); background: var(--lc-cream-100); }
.lc-filter__clear { border: 0; background: none; cursor: pointer; font-family: var(--lc-font-body); font-size: 13px; font-weight: var(--lc-w-semibold); color: var(--lc-ink-500); text-decoration: underline; text-underline-offset: 3px; padding: 6px; }
.lc-filter__apply { border: 0; background: var(--lc-green-800); color: var(--lc-cream-50); cursor: pointer; font-family: var(--lc-font-body); font-size: 14px; font-weight: var(--lc-w-bold); border-radius: var(--lc-radius-pill); padding: 12px 26px; box-shadow: 0 2px 8px rgba(30, 91, 12, 0.25); }

/* ============================== RIELES ================================== */
.lc-rail-section { padding: 56px 0 8px; background: var(--lc-cream-100); }
.lc-rail-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 24px; gap: 16px; }
.lc-rail-head__eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; font-weight: var(--lc-w-semibold); color: var(--lc-green-700); font-family: var(--lc-font-body); }
.lc-rail-head__title { font-family: var(--lc-font-body); font-weight: var(--lc-w-extrabold); font-size: 32px; color: var(--lc-green-800); margin: 6px 0 0; letter-spacing: -0.01em; white-space: nowrap; }
.lc-rail-nav { display: flex; gap: 8px; }
.lc-rail-nav button { width: 40px; height: 40px; border-radius: var(--lc-radius-pill); border: 1px solid var(--lc-border-strong); background: var(--lc-cream-50); cursor: pointer; color: var(--lc-ink-900); display: inline-flex; align-items: center; justify-content: center; transition: background var(--lc-dur-fast) var(--lc-ease); }
.lc-rail-nav button:hover { background: var(--lc-cream-200); }
.lc-rail {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 12px;
	margin-bottom: -12px;
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}
.lc-rail > li.product.lc-card {
	flex: 0 0 250px;
	width: 250px;
	scroll-snap-align: start;
}

/* =========================== OFERTAS DEL MES =========================== */
.lc-offers {
	padding: 64px 0;
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg, #0E3A05 0%, #0E3A05 26%, #1E5B0C 36%, #FBF6EC 70%, #FBF6EC 100%);
}
.lc-offers__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; position: relative; z-index: 1; }
.lc-offers__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.16em; font-weight: var(--lc-w-bold); color: var(--lc-accent-ink, #1B1A12); font-family: var(--lc-font-body); padding: 7px 14px; border-radius: var(--lc-radius-pill); background: var(--lc-warning); box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22); }
.lc-offers__eyebrow .lc-icon { fill: #1B1A12; }
.lc-offers__title { font-family: var(--lc-font-display); font-weight: 400; font-size: clamp(40px, 5.4vw, 64px); color: var(--lc-cream-100); margin: 14px 0 0; letter-spacing: -0.02em; line-height: 1; text-wrap: balance; }
.lc-offers__title span { color: var(--lc-warning); display: block; }

.lc-countdown__label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.14em; font-weight: var(--lc-w-bold); color: rgba(251, 246, 236, 0.72); font-family: var(--lc-font-body); margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.lc-countdown__dot { display: inline-block; width: 8px; height: 8px; border-radius: var(--lc-radius-pill); background: var(--lc-warning); box-shadow: 0 0 0 4px rgba(200, 134, 29, 0.22); }
.lc-countdown__boxes { display: flex; gap: 10px; }
.lc-countdown__box { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.lc-countdown__num { background: rgba(251, 246, 236, 0.10); border: 1px solid rgba(251, 246, 236, 0.20); border-radius: 12px; padding: 10px 12px; min-width: 56px; text-align: center; font-family: var(--lc-font-body); font-variant-numeric: tabular-nums; font-size: 26px; font-weight: var(--lc-w-extrabold); color: var(--lc-cream-100); line-height: 1; }
.lc-countdown__unit { font-family: var(--lc-font-body); font-size: 10px; font-weight: var(--lc-w-semibold); color: rgba(251, 246, 236, 0.66); text-transform: uppercase; letter-spacing: 0.12em; }

.lc-offers__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; align-items: stretch; position: relative; z-index: 1; }
.lc-offers__side { display: grid; grid-template-columns: 1fr; gap: 16px; }

.lc-offer-hero { position: relative; background: var(--lc-cream-50); border-radius: 28px; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32); min-height: 420px; }
.lc-offer-hero__copy { padding: 36px 36px 32px; display: flex; flex-direction: column; font-family: var(--lc-font-body); }
.lc-offer-hero__tag { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.14em; font-weight: var(--lc-w-bold); color: var(--lc-green-800); align-self: flex-start; padding: 5px 10px; border-radius: var(--lc-radius-pill); background: var(--lc-green-100); margin-bottom: 16px; }
.lc-offer-hero__cat { font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; font-weight: var(--lc-w-semibold); color: var(--lc-ink-500); margin-bottom: 6px; }
.lc-offer-hero__title { font-family: var(--lc-font-display); font-weight: 400; font-size: clamp(28px, 3vw, 38px); color: var(--lc-ink-900); margin: 0 0 14px; line-height: 1.05; letter-spacing: -0.01em; text-wrap: balance; }
.lc-offer-hero__desc { font-size: 14.5px; line-height: 1.55; color: var(--lc-ink-700); margin: 0 0 22px; max-width: 420px; }
.lc-offer-hero__pricebox { display: flex; flex-direction: column; gap: 8px; padding: 16px 22px; background: linear-gradient(120deg, var(--lc-warning) 0%, var(--lc-sale) 120%); color: #FFFDF8; border-radius: 18px; margin-bottom: 22px; box-shadow: 0 10px 22px rgba(181, 57, 28, 0.22); align-self: flex-start; }
.lc-offer-hero__save { font-size: 11px; text-transform: uppercase; letter-spacing: 0.16em; opacity: 0.92; font-weight: var(--lc-w-bold); }
.lc-offer-hero__price { font-size: 40px; font-weight: var(--lc-w-extrabold); line-height: 1; letter-spacing: -0.02em; }
.lc-offer-hero__old { font-size: 17px; text-decoration: line-through; opacity: 0.72; font-weight: var(--lc-w-medium); }
.lc-offer-hero__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: auto; }
.lc-offer-hero__image { position: relative; background: var(--lc-green-900); overflow: hidden; }
.lc-offer-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.lc-offer-hero__burst { position: absolute; top: 22px; right: 22px; width: 96px; height: 96px; border-radius: var(--lc-radius-pill); background: var(--lc-warning); color: #1B1A12; display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 14px 28px rgba(0, 0, 0, 0.32); transform: rotate(-8deg); border: 3px solid #FFFDF8; font-family: var(--lc-font-display); }
.lc-offer-hero__burst b { font-size: 28px; line-height: 1; letter-spacing: -0.03em; }
.lc-offer-hero__burst span { font-size: 10px; margin-top: 2px; font-family: var(--lc-font-body); font-weight: var(--lc-w-bold); text-transform: uppercase; letter-spacing: 0.10em; }

.lc-offer-mini { position: relative; background: var(--lc-cream-50); border-radius: 20px; overflow: hidden; display: grid; grid-template-columns: 50% minmax(0, 1fr); text-decoration: none; box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18); transition: transform 220ms var(--lc-ease-organic), box-shadow 220ms; min-height: 120px; }
.lc-offer-mini:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28); }
.lc-offer-mini__img { background: var(--lc-green-900); overflow: hidden; position: relative; }
.lc-offer-mini__img img { width: 100%; height: 100%; object-fit: cover; }
.lc-offer-mini__ribbon { position: absolute; top: 10px; left: -28px; background: var(--lc-warning); color: #1B1A12; font-weight: var(--lc-w-extrabold); font-size: 11px; letter-spacing: 0.04em; padding: 3px 32px; transform: rotate(-32deg); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.20); }
.lc-offer-mini__body { padding: 14px 16px; display: flex; flex-direction: column; justify-content: center; gap: 4px; min-width: 0; }
.lc-offer-mini__cat { font-size: 10px; text-transform: uppercase; letter-spacing: 0.10em; font-weight: var(--lc-w-bold); color: var(--lc-green-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lc-offer-mini__name { font-size: 14px; font-weight: var(--lc-w-bold); color: var(--lc-ink-900); line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lc-offer-mini__prices { display: flex; align-items: baseline; gap: 8px; margin-top: 4px; }
.lc-offer-mini__price { font-size: 17px; font-weight: var(--lc-w-extrabold); color: var(--lc-green-800); }
.lc-offer-mini__old { font-size: 12px; color: var(--lc-ink-300); text-decoration: line-through; }
.lc-offers__all { padding-top: 40px; display: flex; justify-content: center; position: relative; z-index: 1; }

@media (max-width: 760px) {
	.lc-offers__grid { grid-template-columns: 1fr; }
	.lc-offer-hero { grid-template-columns: 1fr; }
	.lc-offer-hero__image { order: 0; min-height: 280px; aspect-ratio: 4/3; }
	.lc-offer-hero__copy { order: 1; }
	.lc-rail-head__title { font-size: 26px; white-space: normal; }
}

/* =============================================================================
   WooCommerce — páginas (single, cart, checkout, account): skin de marca
   ============================================================================= */

/* Botones de WooCommerce → pill verde de marca */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button {
	background: var(--lc-green-800);
	color: var(--lc-cream-100);
	border: 0;
	border-radius: var(--lc-radius-pill);
	font-family: var(--lc-font-body);
	font-weight: var(--lc-w-semibold);
	font-size: 14px;
	padding: 12px 26px;
	box-shadow: var(--lc-shadow-sm);
	transition: background var(--lc-dur-fast) var(--lc-ease), box-shadow var(--lc-dur-base) var(--lc-ease);
	text-transform: none;
	cursor: pointer;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover {
	background: var(--lc-green-900);
	color: var(--lc-cream-100);
	box-shadow: var(--lc-shadow-md);
}

/* Notices (mensajes / info / error) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--lc-green-700);
	background: var(--lc-cream-50);
	border-radius: 14px;
	box-shadow: var(--lc-shadow-sm);
	font-family: var(--lc-font-body);
	color: var(--lc-ink-900);
}
.woocommerce-message::before { color: var(--lc-green-700); }
.woocommerce-info::before { color: var(--lc-green-800); }
.woocommerce-error { border-top-color: var(--lc-sale); }

/* Campos de formulario */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .quantity input.qty,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.select2-container--default .select2-selection--single {
	border: 1px solid var(--lc-border-strong);
	border-radius: 12px;
	background: var(--lc-cream-50);
	font-family: var(--lc-font-body);
	color: var(--lc-ink-900);
	padding: 10px 12px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--lc-green-500);
	box-shadow: var(--lc-shadow-focus);
	outline: none;
}
.woocommerce .quantity input.qty { width: 64px; text-align: center; }

/* Single product — layout 2 columnas */
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.single-product div.product .woocommerce-product-gallery { float: none; width: auto; margin: 0; }
.single-product div.product .summary { float: none; width: auto; margin: 0; }
.single-product div.product .woocommerce-product-gallery__image img { border-radius: 18px; }
.single-product div.product .product_title { font-family: var(--lc-font-display); font-weight: 400; font-size: clamp(30px, 4vw, 46px); color: var(--lc-green-800); line-height: 1.05; letter-spacing: -0.01em; }
.single-product div.product p.price,
.single-product div.product span.price { font-family: var(--lc-font-body); color: var(--lc-sale); font-weight: var(--lc-w-bold); font-size: 26px; }
.single-product div.product p.price del,
.single-product div.product span.price del { color: var(--lc-ink-300); font-weight: var(--lc-w-medium); font-size: 18px; }
.single-product div.product p.price ins { text-decoration: none; }
.single-product .woocommerce-tabs,
.single-product .related.products { grid-column: 1 / -1; }
.single-product .related.products > h2 { font-family: var(--lc-font-body); font-weight: var(--lc-w-extrabold); font-size: 28px; color: var(--lc-green-800); }

/* Tabs */
.woocommerce-tabs ul.tabs li { border-radius: var(--lc-radius-pill) var(--lc-radius-pill) 0 0; background: var(--lc-cream-200); border-color: var(--lc-border); }
.woocommerce-tabs ul.tabs li.active { background: var(--lc-cream-50); }

/* Carrito / checkout — tablas y totales */
.woocommerce table.shop_table { border-radius: 16px; border-color: var(--lc-border); background: var(--lc-cream-50); overflow: hidden; }
.woocommerce table.shop_table th { font-family: var(--lc-font-body); color: var(--lc-ink-900); }
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3 { font-family: var(--lc-font-body); font-weight: var(--lc-w-extrabold); color: var(--lc-green-800); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { font-size: 16px; }

/* Ocultar los tags internos de riel (rail-*) en el meta del producto */
.single-product .product_meta .tagged_as { display: none; }

/* Ocultar el sidebar en páginas de tienda (carrito/checkout/cuenta) */
.woocommerce-cart #secondary,
.woocommerce-checkout #secondary,
.woocommerce-account #secondary,
.woocommerce-page #secondary { display: none; }
.woocommerce-cart #primary,
.woocommerce-checkout #primary,
.woocommerce-account #primary { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: 24px; }

/* WooCommerce Blocks (Cart/Checkout block) → botones pill de marca */
.wc-block-components-button:not(.is-link),
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wc-block-components-button.contained {
	background: var(--lc-green-800) !important;
	color: var(--lc-cream-100) !important;
	border-radius: var(--lc-radius-pill) !important;
	font-family: var(--lc-font-body) !important;
	font-weight: var(--lc-w-semibold) !important;
}
.wc-block-components-button:not(.is-link):hover { background: var(--lc-green-900) !important; }
.wc-block-components-button.is-link { color: var(--lc-green-700) !important; }
.wc-block-cart__totals-title,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title,
.wc-block-components-totals-item__label { font-family: var(--lc-font-body); color: var(--lc-ink-900); }
.wc-block-components-product-price__value.is-discounted,
.wc-block-components-sale-badge { color: var(--lc-sale); }
.wc-block-grid__products,
.wc-block-product-template { gap: 20px; }

@media (max-width: 860px) {
	.single-product div.product { grid-template-columns: 1fr; gap: 28px; }
}
