/* ==========================================================================
   Saturno Heritage — Overrides para WooCommerce
   Aplica encima del CSS de WC (que viene del plugin) sin reemplazarlo.
   ========================================================================== */

/* Contenedor principal de WC */
.woocommerce, .woocommerce-page { color: var(--c-dark); }

/* Reseteo de tipografías de WC */
.woocommerce h1, .woocommerce h2, .woocommerce h3 { font-family: var(--ff-serif); }

/* === BREADCRUMBS === */
.saturno-breadcrumb {
	max-width: var(--container); margin: 0 auto;
	padding: var(--space-3) var(--space-3);
	color: var(--c-muted); font-size: .85rem; letter-spacing: .04em;
}
.saturno-breadcrumb a { color: var(--c-muted); }
.saturno-breadcrumb a:hover { color: var(--c-accent); }

/* === HEADER DE LA TIENDA === */
.saturno-shop-header {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: var(--space-3); margin-bottom: var(--space-5);
	padding-bottom: var(--space-3); border-bottom: 1px solid var(--c-line);
}
.woocommerce-result-count { margin: 0; color: var(--c-muted); font-size: .85rem; }
.woocommerce-ordering select {
	padding: 8px 12px; border: 1px solid var(--c-line); border-radius: var(--radius);
	background: var(--c-white); font-family: inherit;
}

/* === GRID DE PRODUCTOS === */
.woocommerce ul.products {
	display: grid; gap: var(--space-5);
	grid-template-columns: 1fr;
	list-style: none; padding: 0; margin: 0 0 var(--space-6);
}
@media (min-width: 600px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); } }

.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }

/* Botón "Añadir al carrito" en archivo */
.woocommerce .saturno-product-card__cart { margin-top: var(--space-2); }
.woocommerce .saturno-product-card__cart a.button {
	display: inline-block;
	padding: 10px 18px;
	background: transparent; color: var(--c-dark);
	border: 1px solid var(--c-dark); border-radius: var(--radius);
	font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
	transition: all var(--dur) var(--ease);
	font-size: .85rem;
}
.woocommerce .saturno-product-card__cart a.button:hover { background: var(--c-dark); color: var(--c-white); }

/* === PRODUCTO INDIVIDUAL === */
.single-product div.product {
	display: grid; gap: var(--space-6);
	grid-template-columns: 1fr;
	max-width: var(--container); margin: 0 auto; padding: var(--space-5) var(--space-3);
}
@media (min-width: 900px) {
	.single-product div.product { grid-template-columns: 1.1fr 1fr; align-items: start; }
	.single-product .woocommerce-product-gallery { position: sticky; top: calc(var(--header-h) + 20px); }
}

.single-product .product_title {
	font-size: clamp(2rem, 4vw, 2.75rem);
	margin-bottom: var(--space-3);
}
.single-product .price {
	font-size: 1.4rem; font-weight: 600; color: var(--c-dark);
	margin-bottom: var(--space-4);
}
.single-product .price del { color: var(--c-muted); margin-right: var(--space-2); }

.single-product form.cart {
	display: flex; flex-wrap: wrap; gap: var(--space-2);
	align-items: stretch; margin-bottom: var(--space-4);
}
.single-product form.cart .quantity input {
	width: 70px; padding: 12px; border: 1px solid var(--c-line); border-radius: var(--radius); text-align: center;
}
.single-product form.cart button.single_add_to_cart_button {
	flex: 1 1 240px;
	padding: 14px 28px;
	background: var(--c-dark); color: var(--c-white);
	border: 1px solid var(--c-dark); border-radius: var(--radius);
	font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
	transition: background var(--dur) var(--ease);
}
.single-product form.cart button.single_add_to_cart_button:hover { background: var(--c-accent); border-color: var(--c-accent); }

/* Add to cart sticky en mobile */
@media (max-width: 768px) {
	.single-product form.cart {
		position: sticky; bottom: 0; z-index: 40;
		background: var(--c-bg);
		padding: var(--space-2);
		margin-inline: calc(-1 * var(--space-3));
		box-shadow: 0 -4px 20px rgba(44,26,14,0.08);
	}
}

/* Tabs de descripción / información / reseñas */
.woocommerce-tabs { margin-top: var(--space-6); border-top: 1px solid var(--c-line); }
.woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; gap: var(--space-3);
	list-style: none; padding: 0 !important; margin: 0; border: 0 !important;
}
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after { display: none !important; }
.woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: 0 !important; padding: 0 !important; margin: 0 !important;
}
.woocommerce-tabs ul.tabs li a {
	display: inline-block; padding: var(--space-3) 0;
	font-family: var(--ff-sans); font-weight: 600;
	letter-spacing: .04em; text-transform: uppercase; font-size: .85rem;
	color: var(--c-muted); border-bottom: 2px solid transparent !important;
}
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover {
	color: var(--c-dark); border-bottom-color: var(--c-accent) !important;
}
.woocommerce-tabs .panel { padding: var(--space-4) 0; max-width: 720px; }

/* Productos relacionados */
.related.products, .upsells.products { margin-top: var(--space-8); }
.related.products > h2, .upsells.products > h2 {
	font-size: 1.4rem; margin-bottom: var(--space-5);
	font-family: var(--ff-serif);
}

/* === CARRITO === */
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3 { font-family: var(--ff-serif); }

.woocommerce-cart table.cart, .woocommerce table.shop_table {
	border: 0 !important; border-collapse: collapse;
	background: var(--c-white); border-radius: var(--radius);
	overflow: hidden;
}
.woocommerce table.shop_table th {
	background: var(--c-bg-alt); color: var(--c-dark);
	font-family: var(--ff-sans); letter-spacing: .04em; font-size: .85rem; text-transform: uppercase;
	padding: var(--space-3); border: 0;
}
.woocommerce table.shop_table td {
	padding: var(--space-3); border-top: 1px solid var(--c-line);
}

.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	background: var(--c-dark); color: var(--c-white);
	border: 1px solid var(--c-dark); border-radius: var(--radius);
	padding: 12px 22px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
	transition: background var(--dur) var(--ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-white); }

.woocommerce a.button.alt, .woocommerce button.button.alt {
	background: var(--c-accent); border-color: var(--c-accent);
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--c-accent-2); border-color: var(--c-accent-2); }

/* === CHECKOUT === */
.woocommerce form.checkout { display: grid; gap: var(--space-6); }
@media (min-width: 900px) { .woocommerce form.checkout { grid-template-columns: 1.2fr 1fr; } }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	padding: 12px 14px;
	border: 1px solid var(--c-line); border-radius: var(--radius);
	font-family: inherit; font-size: 1rem;
	background: var(--c-white);
}

/* === MENSAJES === */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	padding: var(--space-3) var(--space-4) !important;
	border-radius: var(--radius); border-top-color: var(--c-accent) !important;
}
.woocommerce-message { background: #E5F0E0 !important; }

/* ==========================================================================
   CHECKOUT MEJORADO (v1.5)
   - Layout 60/40 (formulario izquierda, resumen sticky derecha)
   - Apple Pay / Google Pay con label explicativo, no en cabeza del flow
   - Botón "Confirmar y pagar" full-width con CTA fuerte
   ========================================================================== */
.woocommerce-checkout {
	max-width: 1280px;
	margin: 0 auto;
	padding: 32px 24px;
}

/* Layout 60/40 — pedido a la derecha sticky. */
.woocommerce-checkout form.checkout {
	display: grid !important;
	grid-template-columns: 1.6fr 1fr;
	gap: 48px;
	align-items: start;
}

@media (max-width: 900px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr !important;
	}
}

/* Resumen del pedido a la derecha — sticky para que se vea siempre. */
.woocommerce-checkout .woocommerce-checkout-review-order {
	position: sticky;
	top: 100px;
	background: var(--c-bg-alt, #F5F0EB);
	padding: 24px;
	border-radius: 8px;
}

.woocommerce-checkout #order_review_heading {
	font-family: var(--ff-serif);
	font-size: 1.5rem;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--c-line);
}

/* Tabla del pedido — más legible, padding consistente. */
.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 12px 8px;
	border-bottom: 1px solid var(--c-line);
	font-size: 0.95rem;
}

.woocommerce-checkout-review-order-table .order-total td {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
}

/* Botón final "Confirmar y pagar" — CTA principal full-width. */
.woocommerce-checkout #place_order {
	width: 100%;
	padding: 18px 24px !important;
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	background: var(--c-dark) !important;
	color: var(--c-bg) !important;
	border-radius: 8px !important;
	margin-top: 24px;
	transition: background 0.2s ease;
}

.woocommerce-checkout #place_order:hover {
	background: var(--c-accent) !important;
}

/* Apple Pay / Google Pay — discretos, separados visualmente del flow normal. */
.wc-stripe-payment-request-wrapper {
	margin-top: 24px !important;
	padding: 16px 0;
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
}

.wc-stripe-payment-request-wrapper::before {
	content: "Pago rápido — sin llenar formulario";
	display: block;
	font-size: 0.85rem;
	color: var(--c-muted);
	margin-bottom: 8px;
	text-align: center;
}

/* Inputs del formulario más cómodos para llenar. */
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
	padding: 14px 16px !important;
	border-radius: 6px !important;
	border: 1px solid var(--c-line) !important;
	font-family: inherit !important;
	font-size: 1rem !important;
}

.woocommerce-checkout .form-row label {
	font-weight: 500;
	margin-bottom: 6px;
}
