/* ============================================================
   Ferre503 — Shop / Archive / Filters (mobile-first).
   ============================================================ */

.woocommerce .woocommerce-products-header {
	padding: var(--sp-4) 0;
}
.woocommerce-products-header__title {
	font-family: var(--ff-heading);
	font-weight: 700;
	font-size: var(--fs-2xl);
	margin-bottom: var(--sp-2);
}
@media (min-width: 768px) {
	.woocommerce-products-header__title { font-size: var(--fs-3xl); }
}

/* Result count + ordering */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	font-size: var(--fs-sm);
	color: var(--f5-muted);
	margin-bottom: var(--sp-3);
}
.woocommerce .woocommerce-ordering select {
	min-width: 240px;
	background: var(--f5-white);
}

/* Sidebar widgets (filtros) — opcional, sin sidebar default */
.widget-area {
	background: var(--f5-white);
	border-radius: var(--r-lg);
	padding: var(--sp-4);
	margin-top: var(--sp-4);
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
	border: 0;
	display: flex;
	gap: var(--sp-1);
	justify-content: center;
	margin: var(--sp-7) 0;
}
.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
	overflow: visible;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 40px; min-height: 40px;
	padding: 0 12px;
	border-radius: var(--r-md);
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--f5-white);
	border: 1px solid var(--c-line);
	color: var(--c-text);
	font-family: var(--ff-mono);
	font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--f5-navy);
	color: var(--f5-white);
	border-color: var(--f5-navy);
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
	border-color: var(--f5-orange);
	color: var(--f5-orange);
}

/* === Single product (PDP) === */
.single-product div.product {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-5);
	background: var(--f5-white);
	border-radius: var(--r-lg);
	padding: var(--sp-4);
	margin-top: var(--sp-4);
}
@media (min-width: 768px) {
	.single-product div.product {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: var(--sp-7);
		padding: var(--sp-6);
	}
}
.single-product .product .images,
.single-product .product .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	max-width: 100%;
}
.single-product .product .summary {
	width: 100% !important;
	float: none !important;
}

.single-product .product_title {
	font-family: var(--ff-heading);
	font-weight: 700;
	font-size: var(--fs-2xl);
	margin-bottom: var(--sp-3);
}
@media (min-width: 768px) {
	.single-product .product_title { font-size: var(--fs-3xl); }
}

.single-product .price {
	font-family: var(--ff-mono);
	font-weight: 600;
	font-size: var(--fs-2xl);
	color: var(--c-text);
	margin-bottom: var(--sp-2);
}
.single-product .price ins { color: var(--f5-orange); text-decoration: none; font-weight: 700; }
.single-product .price del { color: var(--f5-muted); font-size: var(--fs-lg); }

.f5-iva-notice {
	color: var(--f5-muted);
	font-size: var(--fs-sm);
	margin: 0 0 var(--sp-3);
}

.f5-pdp-trust {
	list-style: none;
	padding: var(--sp-3) var(--sp-4);
	margin: var(--sp-4) 0;
	background: var(--f5-light);
	border-radius: var(--r-md);
	display: flex; flex-direction: column; gap: var(--sp-2);
}
.f5-pdp-trust li {
	font-size: var(--fs-sm);
	color: var(--c-text);
	display: flex; align-items: center; gap: var(--sp-2);
}

/* Tabs PDP */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--c-line);
	padding: 0;
	margin: 0 0 var(--sp-4);
	display: flex;
	gap: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: var(--sp-3) var(--sp-4);
	font-family: var(--ff-heading);
	font-weight: 600;
	font-size: var(--fs-md);
	color: var(--f5-muted);
	text-decoration: none;
	border-bottom: 3px solid transparent;
	display: block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--f5-navy);
	border-bottom-color: var(--f5-orange);
}
.woocommerce div.product .woocommerce-tabs .panel {
	background: transparent;
	padding: var(--sp-4) 0;
}

/* Quantity input */
.woocommerce .quantity {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--c-line);
	border-radius: var(--r-md);
	overflow: hidden;
	margin-right: var(--sp-3);
}
.woocommerce .quantity .qty {
	width: 56px;
	min-height: 44px;
	border: 0;
	text-align: center;
	font-family: var(--ff-mono);
	font-weight: 600;
}

/* Cart / Checkout layout móvil */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
	overflow: hidden;
	background: var(--f5-white);
}
.woocommerce table.shop_table th {
	background: var(--f5-light);
	font-family: var(--ff-heading);
	color: var(--f5-navy);
	padding: var(--sp-3);
}
.woocommerce table.shop_table td {
	padding: var(--sp-3);
	border-top: 1px solid var(--c-line);
}

@media (max-width: 767px) {
	.woocommerce-cart table.shop_table_responsive thead { display: none; }
	.woocommerce-cart table.shop_table_responsive tbody tr {
		display: block;
		padding: var(--sp-3);
		border-bottom: 1px solid var(--c-line);
	}
	.woocommerce-cart table.shop_table_responsive tbody td {
		display: flex; justify-content: space-between; align-items: center;
		padding: var(--sp-2) 0;
		border: 0;
	}
	.woocommerce-cart table.shop_table_responsive tbody td::before {
		content: attr(data-title);
		font-weight: 600;
		color: var(--f5-muted);
	}
}

/* Cart totals box (HD-style sticky) */
.cart_totals {
	background: var(--f5-white);
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
	padding: var(--sp-5);
	box-shadow: var(--sh-sm);
}
.cart_totals h2 {
	font-size: var(--fs-xl);
	margin-bottom: var(--sp-4);
	padding-bottom: var(--sp-3);
	border-bottom: 1px solid var(--c-line);
}

/* Section title generic */
.f5-section-title {
	font-family: var(--ff-heading);
	font-weight: 700;
	font-size: var(--fs-2xl);
	margin: 0 0 var(--sp-4);
	display: flex; align-items: baseline; justify-content: space-between;
}
@media (min-width: 768px) {
	.f5-section-title { font-size: var(--fs-3xl); }
}
.f5-section-title a {
	font-family: var(--ff-body);
	font-size: var(--fs-sm);
	font-weight: 600;
	color: var(--f5-navy);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}
.f5-section-title a:hover { color: var(--f5-orange); }
