/* ==========================================================================
   Puertas Pepin — estilos de WooCommerce
   ========================================================================== */

.woo-wrap { padding-block: clamp(1.5rem, 4vw, 3rem); }
.single-product .woo-wrap { padding-top: 1.2rem; }

/* ---------- Avisos ---------- */
.woocommerce-notices-wrapper { margin-bottom: 1rem; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 1rem;
	margin: 0 0 1.4rem;
	padding: 1rem 1.2rem;
	list-style: none;
	background: var(--pp-primary-soft);
	border-left: 4px solid var(--pp-primary);
	border-radius: var(--radius);
}
.woocommerce-message { border-color: var(--pp-ok); background: #e8f5ee; }
.woocommerce-error { border-color: var(--pp-danger); background: #fdecea; flex-direction: column; align-items: flex-start; }
.woocommerce-message .button,
.woocommerce-info .button { order: 2; margin-left: auto; padding: 0.55em 1.1em; font-size: 0.95rem; }
.woocommerce-error li { margin: 0; }

/* ---------- Listado de tienda ---------- */
.shop-pills { margin-bottom: 1.4rem; }
.shop-pills ul { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }
.shop-pills a {
	display: block;
	padding: 0.5rem 1rem;
	font-weight: 600;
	color: var(--pp-ink);
	text-decoration: none;
	background: #fff;
	border: 1px solid var(--pp-line);
	border-radius: 999px;
}
.shop-pills a:hover { border-color: var(--pp-primary); color: var(--pp-primary); }
.shop-pills a.is-active { color: #fff; background: var(--pp-primary); border-color: var(--pp-primary); }
.shop-pills--sub { margin-top: -0.4rem; }
.shop-pills--sub a { font-size: 0.92rem; font-weight: 500; padding: 0.35rem 0.85rem; background: var(--pp-paper); }
.shop-pills--sub a.is-active { background: var(--pp-ink); border-color: var(--pp-ink); }

.shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem 1.5rem;
	margin: 0 0 1.4rem;
	padding: 0.8rem 0;
	border-block: 1px solid var(--pp-line);
}
.woocommerce-result-count { margin: 0; color: var(--pp-muted); font-size: 0.95rem; }
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select { width: auto; min-width: 220px; padding-block: 0.55rem; }

ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
	gap: clamp(1rem, 2vw, 1.6rem);
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}
.woocommerce ul.products, .woocommerce-page ul.products { margin-bottom: 2rem; }
ul.products::before, ul.products::after { content: none; }

ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
	background: #fff;
	border: 1px solid var(--pp-line);
	border-radius: 10px;
	overflow: hidden;
	transition: border-color 0.15s, box-shadow 0.15s;
}
ul.products li.product:hover { border-color: #b6c6c1; box-shadow: var(--shadow); }
ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1;
	color: inherit;
	text-decoration: none;
}
ul.products li.product img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	background: var(--pp-paper);
}
.pp-loop-cat { padding: 0.95rem 1rem 0; font-size: 0.85rem; color: var(--pp-muted); }
.woocommerce-loop-product__title {
	margin: 0;
	padding: 0.15rem 1rem 0;
	font: 700 1.08rem/1.28 var(--font-head);
	letter-spacing: -0.01em;
	color: var(--pp-ink);
}
ul.products li.product .price {
	display: block;
	padding: 0.5rem 1rem 0;
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--pp-ink);
}
.price del { color: var(--pp-muted); font-weight: 400; font-size: 0.92em; opacity: 0.85; margin-right: 0.35em; }
.price ins { text-decoration: none; color: var(--pp-accent-dark); }
.price .woocommerce-Price-amount { white-space: nowrap; }
.price-ask { font-weight: 500; color: var(--pp-muted); }
ul.products li.product .button {
	margin: 0.9rem 1rem 1rem;
	padding: 0.7em 1em;
	font-size: 0.97rem;
}
ul.products li.product .button.loading { opacity: 0.6; pointer-events: none; }
ul.products li.product .button.added { background: var(--pp-ok); border-color: var(--pp-ok); }
ul.products li.product a.added_to_cart {
	margin: -0.4rem 1rem 1rem;
	font-size: 0.92rem;
	font-weight: 600;
	text-align: center;
}
.onsale {
	position: absolute;
	top: 0.7rem;
	left: 0.7rem;
	z-index: 2;
	padding: 0.25rem 0.65rem;
	font: 700 0.82rem/1.3 var(--font-body);
	color: var(--pp-ink);
	background: var(--pp-accent);
	border-radius: 4px;
}
.single-product div.product .onsale { top: 1rem; left: 1rem; }
.woocommerce ul.products li.product .onsale { margin: 0; min-height: 0; min-width: 0; line-height: 1.3; }

.woocommerce-pagination { margin-top: 2rem; }
.woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-pagination .page-numbers li { margin: 0; }
.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers {
	display: block;
	min-width: 44px;
	padding: 0.55rem 0.9rem;
	text-align: center;
	text-decoration: none;
	color: var(--pp-ink);
	border: 1px solid var(--pp-line);
	border-radius: var(--radius);
}
.woocommerce-pagination span.current { color: #fff; background: var(--pp-primary); border-color: var(--pp-primary); }
.woocommerce-info.woocommerce-no-products-found { margin-top: 1rem; }

/* ---------- Ficha de producto ---------- */
.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 5vw, 4rem);
	align-items: start;
}
.single-product div.product > .woocommerce-product-gallery { grid-column: 1; grid-row: 1 / span 3; }
.single-product div.product > .summary { grid-column: 2; }
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .upsells { grid-column: 1 / -1; }
.single-product div.product > .onsale { grid-column: 1; grid-row: 1; position: absolute; }
.single-product div.product { position: relative; }

.woocommerce-product-gallery { position: relative; }
html:not(.js) .woocommerce-product-gallery { opacity: 1 !important; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery img.wp-post-image {
	width: 100%;
	height: auto;
	border-radius: var(--radius-lg);
	background: var(--pp-paper);
}
.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 0.8rem; right: 0.8rem;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 40px; height: 40px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(18, 40, 37, 0.15);
	text-indent: -999px;
	overflow: hidden;
}
.woocommerce-product-gallery__trigger::before {
	content: "";
	position: absolute;
	width: 12px; height: 12px;
	border: 2px solid var(--pp-ink);
	border-radius: 50%;
	top: 11px; left: 11px;
}
.woocommerce-product-gallery__trigger::after {
	content: "";
	position: absolute;
	width: 2px; height: 8px;
	background: var(--pp-ink);
	transform: rotate(-45deg);
	top: 24px; left: 26px;
}
.flex-viewport { border-radius: var(--radius-lg); overflow: hidden; }
.flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.7rem;
	list-style: none;
	margin: 0.8rem 0 0;
	padding: 0;
}
.flex-control-thumbs li { margin: 0; }
.flex-control-thumbs img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	cursor: pointer;
	border: 2px solid transparent;
	border-radius: 8px;
	opacity: 0.65;
	transition: opacity 0.15s, border-color 0.15s;
}
.flex-control-thumbs img.flex-active,
.flex-control-thumbs img:hover { opacity: 1; border-color: var(--pp-primary); }

.summary .product_title { font-size: clamp(1.8rem, 3.2vw, 2.5rem); margin-bottom: 0.3em; }
.summary .price {
	margin: 0 0 1rem;
	font: 700 1.9rem/1.2 var(--font-head);
	color: var(--pp-ink);
}
.summary .price del { font-size: 1.2rem; }
.summary .price small, .summary .woocommerce-price-suffix { font: 400 0.9rem var(--font-body); color: var(--pp-muted); }
.woocommerce-product-details__short-description { margin-bottom: 1.4rem; color: var(--pp-muted); font-size: 1.1rem; }
.woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

form.cart { margin: 0 0 1.2rem; }
form.cart .variations { width: 100%; margin: 0 0 1.2rem; border: 0; border-collapse: collapse; }
form.cart .variations th,
form.cart .variations td { display: block; padding: 0; text-align: left; }
form.cart .variations th.label label { margin-bottom: 0.4rem; font-size: 1rem; }
form.cart .variations td.value { margin-bottom: 0.9rem; }
form.cart .variations select { max-width: 100%; }
.reset_variations { display: inline-block; margin-top: 0.4rem; font-size: 0.9rem; }
.woocommerce-variation-price .price { font-size: 1.5rem; margin: 0.4rem 0 1rem; }
.woocommerce-variation-description { color: var(--pp-muted); margin-bottom: 0.8rem; }
.woocommerce-variation-add-to-cart,
form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: 0.8rem; align-items: stretch; }
.single_add_to_cart_button { flex: 1; min-width: 200px; padding: 0.95em 1.4em; font-size: 1.08rem; }
.single_add_to_cart_button.disabled,
.single_add_to_cart_button:disabled { opacity: 0.45; cursor: not-allowed; }
.stock { margin-bottom: 0.8rem; font-weight: 600; }
.stock.in-stock { color: var(--pp-ok); }
.stock.out-of-stock { color: var(--pp-danger); }

.quantity { display: inline-block; }
.quantity input.qty {
	width: 84px;
	height: 100%;
	min-height: 48px;
	padding: 0.5rem;
	text-align: center;
	font-weight: 600;
}

.single-extras { display: grid; gap: 1rem; margin: 1.4rem 0; }
.single-extras .wish-btn--text { justify-self: start; }
.help-box {
	display: flex;
	gap: 0.9rem;
	align-items: flex-start;
	padding: 1rem 1.2rem;
	background: var(--pp-paper);
	border-radius: var(--radius-lg);
}
.help-box .pp-icon { color: var(--pp-primary); margin-top: 2px; }
.help-box p { margin: 0; font-size: 0.98rem; }

.product_meta { padding-top: 1.1rem; font-size: 0.92rem; color: var(--pp-muted); border-top: 1px solid var(--pp-line); }
.product_meta > span { display: block; margin-bottom: 0.3rem; }
.product_meta a { color: var(--pp-primary); }

/* Pestañas */
.woocommerce-tabs { margin-top: 1rem; }
.woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 1.8rem;
	list-style: none;
	margin: 0 0 1.6rem;
	padding: 0;
	border-bottom: 1px solid var(--pp-line);
}
.woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce-tabs ul.tabs a {
	display: block;
	padding: 0.8rem 0.1rem;
	font: 700 1.05rem var(--font-head);
	color: var(--pp-muted);
	text-decoration: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -1px;
}
.woocommerce-tabs ul.tabs li.active a { color: var(--pp-ink); border-color: var(--pp-accent); }
.woocommerce-Tabs-panel { max-width: 860px; }
.woocommerce-Tabs-panel > h2 { font-size: 1.5rem; }
.woocommerce-Tabs-panel ul { padding-left: 1.2em; }

table.woocommerce-product-attributes {
	width: 100%;
	border-collapse: collapse;
}
table.woocommerce-product-attributes th,
table.woocommerce-product-attributes td {
	padding: 0.8rem 1rem;
	text-align: left;
	border-bottom: 1px solid var(--pp-line);
	vertical-align: top;
}
table.woocommerce-product-attributes th { width: 34%; font-weight: 600; background: var(--pp-paper); }
table.woocommerce-product-attributes td p { margin: 0; }

.related.products > h2,
.upsells.products > h2 { margin-top: 1rem; }
.related.products, .upsells.products { margin-top: 2rem; }

/* Reseñas */
#reviews #comments ol.commentlist { list-style: none; padding: 0; }
#reviews .comment_container { display: flex; gap: 1rem; margin-bottom: 1.4rem; }
#reviews img.avatar { width: 48px; height: 48px; border-radius: 50%; }
.star-rating { position: relative; display: inline-block; width: 5.4em; height: 1.1em; overflow: hidden; font-size: 1rem; line-height: 1; letter-spacing: 0.1em; }
.star-rating::before { content: "\2605\2605\2605\2605\2605"; color: #c9d3d0; position: absolute; left: 0; top: 0; }
.star-rating span { position: absolute; left: 0; top: 0; overflow: hidden; padding-top: 1.5em; height: 0; }
.star-rating span::before { content: "\2605\2605\2605\2605\2605"; color: var(--pp-accent); position: absolute; left: 0; top: 0; }
p.stars a { position: relative; display: inline-block; width: 1.4em; height: 1.4em; text-indent: -999em; overflow: hidden; }
p.stars a::before { content: "\2605"; position: absolute; left: 0; top: 0; text-indent: 0; font-size: 1.4rem; color: #c9d3d0; }
p.stars.selected a.active ~ a::before { color: #c9d3d0; }
p.stars.selected a::before, p.stars:hover a::before { color: var(--pp-accent); }
p.stars a:hover ~ a::before { color: #c9d3d0; }

@media (max-width: 860px) {
	.single-product div.product { grid-template-columns: 1fr; }
	.single-product div.product > .woocommerce-product-gallery,
	.single-product div.product > .summary { grid-column: 1; grid-row: auto; }
}

/* ---------- Tablas (carrito, pedido) ---------- */
table.shop_table {
	width: 100%;
	margin: 0 0 1.5rem;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--pp-line);
	border-radius: var(--radius-lg);
	overflow: hidden;
}
table.shop_table th,
table.shop_table td {
	padding: 1rem;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid var(--pp-line);
}
table.shop_table thead th { font-size: 0.9rem; color: var(--pp-muted); background: var(--pp-paper); }
table.shop_table tr:last-child td,
table.shop_table tr:last-child th { border-bottom: 0; }

/* ---------- Carrito ---------- */
.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 0 clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .cart-empty,
.woocommerce-cart .woocommerce > .return-to-shop,
.woocommerce-cart .woocommerce > .woocommerce-message,
.woocommerce-cart .woocommerce > .woocommerce-error,
.woocommerce-cart .woocommerce > .woocommerce-info { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 2; grid-row: 2; }

.shop_table.cart .product-remove { width: 44px; padding-right: 0; }
a.remove {
	display: inline-grid;
	place-items: center;
	width: 30px; height: 30px;
	font-size: 1.3rem;
	line-height: 1;
	color: var(--pp-muted);
	text-decoration: none;
	border: 1px solid var(--pp-line);
	border-radius: 50%;
}
a.remove:hover { color: #fff; background: var(--pp-danger); border-color: var(--pp-danger); }
.shop_table.cart .product-thumbnail { width: 96px; }
.shop_table.cart .product-thumbnail img { width: 80px; height: 80px; object-fit: cover; border-radius: 8px; }
.shop_table.cart .product-name a { font: 700 1.05rem var(--font-head); color: var(--pp-ink); text-decoration: none; }
.shop_table.cart .product-name a:hover { text-decoration: underline; }
.shop_table dl.variation { margin: 0.3rem 0 0; font-size: 0.9rem; color: var(--pp-muted); }
.shop_table dl.variation dt { display: inline; font-weight: 600; }
.shop_table dl.variation dd { display: inline; margin: 0 0.8em 0 0; }
.shop_table dl.variation dd p { display: inline; margin: 0; }
.shop_table.cart td.actions { padding: 1rem; background: var(--pp-paper); }
.shop_table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 0.6rem; float: left; }
.shop_table.cart td.actions .coupon label { display: none; }
.shop_table.cart td.actions .coupon input { width: 190px; }
.shop_table.cart td.actions > button[name="update_cart"] { float: right; }
.shop_table.cart td.actions::after { content: ""; display: block; clear: both; }
button[name="update_cart"]:disabled { opacity: 0.45; cursor: not-allowed; }
.shop_table.cart .quantity input.qty { min-height: 44px; width: 76px; }

.cart_totals { padding: 1.4rem; background: var(--pp-paper); border-radius: var(--radius-lg); }
.cart_totals h2 { font-size: 1.4rem; }
.cart_totals table.shop_table { background: #fff; }
.cart_totals .shipping-calculator-button { font-size: 0.92rem; }
.cart_totals .order-total .woocommerce-Price-amount { font: 700 1.3rem var(--font-head); }
.wc-proceed-to-checkout { padding-top: 0.4rem; }
.wc-proceed-to-checkout a.checkout-button {
	display: flex;
	width: 100%;
	padding: 1em;
	font-size: 1.1rem;
	background: var(--pp-primary);
}
.cross-sells { margin-top: 2rem; }
.cart-empty.woocommerce-info { justify-content: center; text-align: center; padding: 2rem; }
.return-to-shop { text-align: center; margin: 0 0 2rem; }
.return-to-shop .button { padding: 0.95em 1.8em; }

@media (max-width: 960px) {
	.woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 1; grid-row: auto; margin-top: 1rem; }
}

/* Tablas adaptadas a móvil (carrito y pedido) */
@media (max-width: 720px) {
	table.shop_table_responsive thead { display: none; }
	table.shop_table_responsive tr { display: block; padding: 0.4rem 0; border-bottom: 1px solid var(--pp-line); }
	table.shop_table_responsive tr:last-child { border-bottom: 0; }
	table.shop_table_responsive td,
	table.shop_table_responsive th { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.55rem 1rem; border: 0; text-align: right; }
	table.shop_table_responsive td::before { content: attr(data-title); font-weight: 600; text-align: left; color: var(--pp-muted); }
	table.shop_table_responsive td.product-remove::before,
	table.shop_table_responsive td.product-thumbnail::before,
	table.shop_table_responsive td.actions::before { content: none; }
	table.shop_table_responsive td.product-thumbnail { justify-content: center; }
	table.shop_table_responsive td.product-remove { justify-content: flex-end; width: auto; }
	.shop_table.cart td.actions { display: block; text-align: left; }
	.shop_table.cart td.actions .coupon { float: none; margin-bottom: 0.8rem; }
	.shop_table.cart td.actions .coupon input { flex: 1; width: auto; }
	.shop_table.cart td.actions > button[name="update_cart"] { float: none; width: 100%; }
	.cart_totals table.shop_table_responsive th { text-align: left; }
}

/* ---------- Finalizar compra ---------- */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 430px;
	column-gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}
.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0; }
.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; }
.woocommerce-checkout .col2-set { display: block; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; margin-bottom: 1.5rem; }
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3,
#order_review_heading { font-size: 1.4rem; }
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1.1rem;
}
.form-row { margin: 0 0 1.1rem; padding: 0; }
.form-row-wide, .form-row-first, .form-row-last { width: auto; float: none; }
.form-row-wide { grid-column: 1 / -1; }
.form-row .required { color: var(--pp-danger); text-decoration: none; border: 0; }
.form-row .optional { color: var(--pp-muted); font-weight: 400; }
.woocommerce-invalid input.input-text,
.woocommerce-invalid select { border-color: var(--pp-danger); }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 1rem; }
form.checkout_coupon, form.woocommerce-form-login {
	margin: 0 0 1.5rem;
	padding: 1.2rem;
	background: var(--pp-paper);
	border: 0;
	border-radius: var(--radius-lg);
}
form.checkout_coupon .form-row { display: inline-block; width: auto; margin-right: 0.5rem; }
form.checkout_coupon input.input-text { width: 240px; max-width: 100%; }

#order_review {
	padding: 1.4rem;
	background: #fff;
	border: 1px solid var(--pp-line);
	border-radius: var(--radius-lg);
}
#order_review table.shop_table { border: 0; margin-bottom: 1rem; border-radius: 0; }
#order_review table.shop_table th,
#order_review table.shop_table td { padding: 0.7rem 0; }
#order_review .product-name { font-weight: 500; }
#order_review .order-total .woocommerce-Price-amount { font: 700 1.3rem var(--font-head); }

#payment { background: transparent; }
#payment ul.payment_methods { list-style: none; margin: 0 0 1rem; padding: 0; }
#payment ul.payment_methods > li { margin: 0 0 0.6rem; padding: 0.9rem 1rem; border: 1px solid var(--pp-line); border-radius: var(--radius); }
#payment ul.payment_methods > li label { display: inline; margin: 0 0 0 0.4rem; font-weight: 600; }
#payment .payment_box { margin-top: 0.7rem; padding: 0.8rem 1rem; font-size: 0.95rem; color: var(--pp-muted); background: var(--pp-paper); border-radius: var(--radius); }
#payment .payment_box p:last-child { margin-bottom: 0; }
.woocommerce-privacy-policy-text { font-size: 0.9rem; color: var(--pp-muted); }
.woocommerce-terms-and-conditions-wrapper .form-row label { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 400; }
.woocommerce-terms-and-conditions-wrapper input { margin-top: 0.3rem; flex: none; }
#place_order { width: 100%; padding: 1.05em; font-size: 1.12rem; }

.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.woocommerce-shipping-methods li { margin-bottom: 0.4rem; }
.woocommerce-shipping-methods label { display: inline; font-weight: 500; }

/* Select2 (país / provincia) */
.select2-container { width: 100% !important; }
.select2-container .select2-selection--single {
	height: 48px;
	border: 1px solid #b6c3bf;
	border-radius: var(--radius);
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 0.9rem; color: var(--pp-ink); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 6px; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--open .select2-selection--single { border-color: var(--pp-primary); }
.select2-dropdown { border: 1px solid var(--pp-primary); border-radius: var(--radius); }
.select2-search--dropdown .select2-search__field { padding: 0.5rem; border: 1px solid #b6c3bf; border-radius: 4px; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--pp-primary); color: #fff; }
.select2-container--default .select2-results__option[aria-selected="true"] { background: var(--pp-primary-soft); }
.select2-results__option { padding: 0.55rem 0.9rem; }

.blockUI.blockOverlay { background: rgba(255, 255, 255, 0.7) !important; }

@media (max-width: 960px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; }
	.woocommerce-checkout form.checkout #order_review_heading { margin-top: 1rem; }
}
@media (max-width: 560px) {
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper,
	.woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
}

/* Pedido recibido */
.woocommerce-order { max-width: 860px; }
.woocommerce-notice--success.woocommerce-thankyou-order-received {
	padding: 1.2rem 1.4rem;
	font: 700 1.3rem var(--font-head);
	background: #e8f5ee;
	border-left: 4px solid var(--pp-ok);
	border-radius: var(--radius);
}
ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	list-style: none;
	margin: 1.5rem 0;
	padding: 1.2rem;
	background: var(--pp-paper);
	border-radius: var(--radius-lg);
}
ul.woocommerce-order-overview li { font-size: 0.9rem; color: var(--pp-muted); }
ul.woocommerce-order-overview li strong { display: block; font-size: 1.05rem; color: var(--pp-ink); }
.woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
address { font-style: normal; line-height: 1.6; }

/* ---------- Mi cuenta ---------- */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 2rem 3rem; align-items: start; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--pp-line); border-radius: var(--radius-lg); overflow: hidden; }
.woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--pp-line); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation a { display: block; padding: 0.85rem 1.1rem; font-weight: 600; color: var(--pp-ink); text-decoration: none; }
.woocommerce-MyAccount-navigation a:hover { background: var(--pp-primary-soft); }
.woocommerce-MyAccount-navigation .is-active a { color: #fff; background: var(--pp-primary); }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
#customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
#customer_login .u-column1, #customer_login .u-column2 { width: auto; float: none; padding: 1.5rem; border: 1px solid var(--pp-line); border-radius: var(--radius-lg); }
#customer_login h2 { font-size: 1.5rem; }
.woocommerce-form-login__rememberme { display: flex; gap: 0.5rem; align-items: center; font-weight: 400; }
.woocommerce-LostPassword { margin-top: 1rem; }
@media (max-width: 860px) {
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	#customer_login, .woocommerce-columns--addresses { grid-template-columns: 1fr; }
}

/* Lista de deseos */
.pp-wishlist-page .woocommerce { margin: 0; }
