/**
 * WOOCOMMERCE — overrides al look por defecto.
 */

.woocommerce .wc-wrapper { padding-block: var(--sp-8) var(--sp-16); }

/* Breadcrumb */
.woocommerce-breadcrumb {
	font-size: var(--fs-2xs);
	letter-spacing: var(--tracking-wider);
	text-transform: uppercase;
	color: var(--color-text-muted);
	margin-bottom: var(--sp-6);
}
.woocommerce-breadcrumb a { color: var(--color-text); }
.woocommerce-breadcrumb a:hover { color: var(--color-primary); }

/* Título de la página del shop */
.woocommerce-products-header {
	text-align: center;
	padding-block: var(--sp-8) var(--sp-6);
}
.woocommerce-products-header__title {
	font-family: var(--font-serif);
	font-size: var(--fs-3xl);
	margin: 0;
	letter-spacing: var(--tracking-tight);
}
.woocommerce-result-count {
	color: var(--color-text-muted);
	font-size: var(--fs-2xs);
	letter-spacing: var(--tracking-wider);
	text-transform: uppercase;
	margin-bottom: var(--sp-5);
}
.woocommerce-ordering select {
	padding: var(--sp-2) var(--sp-4);
	border: 1px solid var(--color-border);
	background: var(--color-bg-alt);
	font-size: var(--fs-xs);
	border-radius: var(--radius-full);
}

/* Grid de productos */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--sp-8) var(--sp-5);
	list-style: none;
	margin: 0; padding: 0;
}
@media (max-width: 900px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .woocommerce ul.products { grid-template-columns: 1fr; gap: var(--sp-6); } }

.woocommerce ul.products li.product {
	list-style: none;
	margin: 0;
	background: transparent;
}
.woocommerce ul.products li.product a { color: var(--color-text); display: block; }
.woocommerce ul.products li.product img {
	aspect-ratio: 4/5;
	object-fit: cover;
	width: 100%;
	border-radius: var(--radius-sm);
	background: var(--color-bg-alt);
	margin-bottom: var(--sp-4);
	transition: transform var(--dur-slow) var(--ease-out);
}
.woocommerce ul.products li.product:hover img { transform: scale(1.02); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-serif);
	font-size: var(--fs-md);
	font-weight: var(--fw-normal);
	line-height: var(--lh-snug);
	margin: 0 0 var(--sp-1);
	color: var(--color-text);
}
.woocommerce ul.products li.product .price {
	color: var(--color-text);
	font-weight: var(--fw-semi);
	font-size: var(--fs-sm);
	margin: 0;
}
.woocommerce ul.products li.product .price del { color: var(--color-text-muted); margin-right: var(--sp-2); font-weight: var(--fw-normal); }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button {
	display: none; /* mostramos add-to-cart en el hover del media */
}

/* Onsale badge */
.woocommerce span.onsale {
	position: absolute;
	background: var(--color-primary);
	color: var(--c-cream-100);
	top: var(--sp-3); left: var(--sp-3);
	padding: 4px 10px;
	border-radius: var(--radius-full);
	font-size: var(--fs-3xs);
	font-weight: var(--fw-semi);
	letter-spacing: var(--tracking-wider);
	text-transform: uppercase;
	line-height: 1;
	min-height: 0; min-width: 0;
}
.woocommerce ul.products li.product { position: relative; }

/* Single product */
.single-product div.product {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: var(--sp-10);
	margin-top: var(--sp-6);
}
@media (max-width: 900px) {
	.single-product div.product { grid-template-columns: 1fr; gap: var(--sp-6); }
}

.single-product .woocommerce-product-gallery {
	width: 100%;
}
.single-product .woocommerce-product-gallery__image img {
	border-radius: var(--radius-sm);
	background: var(--color-bg-alt);
}
.single-product .product_title {
	font-family: var(--font-serif);
	font-size: var(--fs-3xl);
	line-height: 1;
	margin-bottom: var(--sp-4);
	letter-spacing: var(--tracking-tight);
}
.single-product .price {
	font-size: var(--fs-xl);
	color: var(--color-text);
	font-weight: var(--fw-semi);
	margin-bottom: var(--sp-5);
	font-family: var(--font-sans);
}
.single-product .woocommerce-product-details__short-description {
	color: var(--color-text-muted);
	line-height: var(--lh-loose);
	margin-bottom: var(--sp-6);
	padding-bottom: var(--sp-6);
	border-bottom: 1px solid var(--color-border);
}
.single-product .product-delivery {
	background: var(--color-bg-alt);
	padding: var(--sp-4);
	border-radius: var(--radius-sm);
	font-size: var(--fs-sm);
	margin-bottom: var(--sp-6);
}
.single-product .product-delivery strong { color: var(--color-primary); }

.single-product form.cart {
	display: flex; align-items: center; gap: var(--sp-3);
	margin-bottom: var(--sp-8);
}
.single-product .quantity input.qty {
	width: 80px;
	padding: var(--sp-3);
	text-align: center;
	border: 1px solid var(--color-border);
	background: var(--color-bg-alt);
	border-radius: var(--radius-full);
	min-height: 48px;
	font: inherit;
}
.single-product .single_add_to_cart_button {
	background: var(--color-text);
	color: var(--color-text-invert);
	border: 0;
	padding: var(--sp-3) var(--sp-6);
	min-height: 48px;
	border-radius: var(--radius-full);
	font-size: var(--fs-2xs);
	font-weight: var(--fw-semi);
	letter-spacing: var(--tracking-widest);
	text-transform: uppercase;
	transition: background var(--dur-base) var(--ease-out);
	cursor: pointer;
	flex: 1;
}
.single-product .single_add_to_cart_button:hover {
	background: var(--color-primary);
}

.woocommerce-tabs {
	margin-top: var(--sp-10);
	padding-top: var(--sp-8);
	border-top: 1px solid var(--color-border);
}
.woocommerce-tabs ul.tabs {
	display: flex; gap: var(--sp-6);
	margin-bottom: var(--sp-6);
	border-bottom: 1px solid var(--color-border);
	padding: 0;
	list-style: none;
}
.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: var(--sp-3) 0;
	font-size: var(--fs-2xs);
	font-weight: var(--fw-semi);
	letter-spacing: var(--tracking-widest);
	text-transform: uppercase;
	color: var(--color-text-muted);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
	color: var(--color-text);
	border-bottom-color: var(--color-primary);
}

/* Cart page */
.woocommerce-cart .cart_totals {
	background: var(--color-bg-alt);
	padding: var(--sp-6);
	border-radius: var(--radius-sm);
}
.woocommerce table.shop_table {
	border: 0;
	border-collapse: collapse;
	width: 100%;
	background: transparent;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: var(--sp-4);
	border-bottom: 1px solid var(--color-border);
	text-align: left;
	font-size: var(--fs-sm);
	background: transparent;
}
.woocommerce table.shop_table th {
	font-size: var(--fs-2xs);
	font-weight: var(--fw-semi);
	letter-spacing: var(--tracking-wider);
	text-transform: uppercase;
	color: var(--color-text-muted);
}

/* ── Mini-cart (drawer) ──────────────────────────────────────── */
/* El drawer del cart usa flex-column: header (fijo) + body scrollable + footer (fijo). */
.drawer[data-drawer="cart"] .drawer__panel {
	display: flex;
	flex-direction: column;
}
.drawer[data-drawer="cart"] .drawer__body {
	flex: 1;
	overflow: hidden;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.mini-cart__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

/* Banner de entrega */
.mini-cart__delivery {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	padding: var(--sp-3) var(--sp-6);
	background: var(--color-primary-soft);
	color: var(--color-primary);
	font-size: var(--fs-xs);
	font-weight: var(--fw-medium);
	line-height: 1.4;
}
.mini-cart__delivery svg { flex-shrink: 0; }

/* Lista scrollable */
.mini-cart__items {
	flex: 1;
	overflow-y: auto;
	list-style: none;
	margin: 0;
	padding: var(--sp-3) var(--sp-6);
	display: flex; flex-direction: column;
	gap: var(--sp-4);
}
.mini-cart__items::-webkit-scrollbar { width: 6px; }
.mini-cart__items::-webkit-scrollbar-thumb { background: var(--color-border-strong); border-radius: var(--radius-full); }
.mini-cart__items::-webkit-scrollbar-track { background: transparent; }

.mini-cart__item {
	position: relative;
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: var(--sp-4);
	padding: var(--sp-3) 0;
	border-bottom: 1px solid var(--color-border);
	transition: opacity var(--dur-base) var(--ease-out);
}
.mini-cart__item:last-child { border-bottom: 0; }
.mini-cart__item[data-mc-state="loading"] {
	opacity: 0.5;
	pointer-events: none;
}
.mini-cart__item[data-mc-state="removing"] {
	opacity: 0;
	transform: translateX(20px);
	transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}

.mini-cart__thumb {
	width: 72px;
	aspect-ratio: 4/5;
	overflow: hidden;
	border-radius: var(--radius-sm);
	background: var(--color-surface);
}
.mini-cart__thumb a { display: block; height: 100%; }
.mini-cart__thumb-img,
.mini-cart__thumb img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}

.mini-cart__info {
	display: flex; flex-direction: column;
	gap: var(--sp-2);
	padding-right: var(--sp-5); /* espacio para el X */
	min-width: 0;
}
.mini-cart__title {
	font-family: var(--font-serif);
	font-size: var(--fs-sm);
	line-height: 1.3;
	color: var(--color-text);
}
.mini-cart__title a { color: inherit; }
.mini-cart__title a:hover { color: var(--color-primary); }

.mini-cart__variation {
	font-size: var(--fs-3xs);
	color: var(--color-text-muted);
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: var(--tracking-wide);
}
.mini-cart__variation p { margin: 0; }

.mini-cart__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-3);
	margin-top: var(--sp-1);
}
.mini-cart__price {
	font-size: var(--fs-sm);
	font-weight: var(--fw-semi);
	color: var(--color-text);
	white-space: nowrap;
}
.mini-cart__price .woocommerce-Price-amount { color: inherit; }

/* Qty pequeño para mini-cart */
.qty--sm { min-height: 32px; }
.qty--sm .qty__btn { width: 28px; }
.qty--sm .qty__input { font-size: var(--fs-xs); }

/* Botón X para eliminar */
.mini-cart__remove {
	position: absolute;
	top: var(--sp-3);
	right: 0;
	width: 28px; height: 28px;
	display: inline-flex; align-items: center; justify-content: center;
	background: transparent;
	color: var(--color-text-muted);
	border: 0;
	border-radius: var(--radius-full);
	cursor: pointer;
	transition: all var(--dur-fast) var(--ease-out);
}
.mini-cart__remove:hover {
	background: var(--color-primary-soft);
	color: var(--color-primary);
}

/* Footer sticky */
.mini-cart__footer {
	background: var(--color-surface-alt);
	border-top: 1px solid var(--color-border);
	padding: var(--sp-5) var(--sp-6);
	display: flex;
	flex-direction: column;
	gap: var(--sp-4);
	flex-shrink: 0;
}
.mini-cart__totals {
	display: flex;
	flex-direction: column;
	gap: var(--sp-1);
}
.mini-cart__totals-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: var(--fs-md);
	color: var(--color-text);
}
.mini-cart__totals-row strong {
	font-family: var(--font-serif);
	font-size: var(--fs-xl);
	font-weight: var(--fw-normal);
	color: var(--color-text);
}
.mini-cart__totals-row .woocommerce-Price-amount { color: inherit; }
.mini-cart__totals-note {
	font-size: var(--fs-2xs);
	color: var(--color-text-muted);
	letter-spacing: var(--tracking-wide);
}

.mini-cart__actions {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
}
.mini-cart__actions .btn { min-height: 52px; }

/* Empty state */
.mini-cart__empty {
	flex: 1;
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	gap: var(--sp-4);
	padding: var(--sp-8) var(--sp-6);
	text-align: center;
}
.mini-cart__empty-icon {
	color: var(--color-border-strong);
	margin-bottom: var(--sp-2);
}
.mini-cart__empty-title {
	font-family: var(--font-serif);
	font-size: var(--fs-xl);
	color: var(--color-text);
	margin: 0;
}
.mini-cart__empty-text {
	color: var(--color-text-muted);
	max-width: 30ch;
	margin: 0 0 var(--sp-3);
}

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	padding: var(--sp-4) var(--sp-5);
	border-radius: var(--radius-sm);
	background: var(--color-bg-alt);
	border-left: 3px solid var(--color-primary);
	list-style: none;
	margin-bottom: var(--sp-5);
	font-size: var(--fs-sm);
}
.woocommerce-error { border-left-color: var(--c-error); background: #fdf2f2; }

/* Checkout page */
.woocommerce-checkout .col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--sp-8);
}
@media (max-width: 900px) { .woocommerce-checkout .col2-set { grid-template-columns: 1fr; } }
.woocommerce-checkout h3 {
	font-family: var(--font-serif);
	font-size: var(--fs-xl);
	margin-bottom: var(--sp-5);
}
.woocommerce-checkout input.input-text, .woocommerce-checkout textarea, .woocommerce-checkout select {
	width: 100%;
	padding: var(--sp-3) var(--sp-4);
	border: 1px solid var(--color-border);
	background: var(--color-surface);
	border-radius: var(--radius-sm);
	font: inherit;
	min-height: 48px;
}
