/* ==========================================================================
   Planet Hobbies — WooCommerce: carrito, checkout, gracias, mi cuenta, avisos.
   Derivado del sistema visual del diseño: tarjetas #f0f4f7, panel oscuro #071523,
   CTA rojo pill, etiquetas en mayúsculas y Montserrat.
   ========================================================================== */

.ph-wc { padding-block: 2.5rem 5.625rem; }
.woocommerce { --wc-radius: 0.875rem; }

/* ---------- Pasos (carrito → pago → confirmación) ---------- */
.ph-steps { display: flex; gap: 0.625rem; margin-bottom: 2.125rem; flex-wrap: wrap; }
.ph-steps li { display: flex; align-items: center; gap: 0.625rem; font-size: 0.75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #a5a5a5; }
.ph-steps li + li::before { content: ""; width: 2.5rem; height: 1px; background: var(--line); }
.ph-steps b { display: grid; place-items: center; width: 1.625rem; height: 1.625rem; border-radius: 50%; border: 1px solid var(--line); font-size: 0.8125rem; }
.ph-steps li.is-done, .ph-steps li.is-current { color: var(--ink); }
.ph-steps li.is-done b { background: var(--navy); border-color: var(--navy); color: #fff; }
.ph-steps li.is-current b { background: var(--red-hot); border-color: var(--red-hot); color: #fff; }

/* ---------- Avisos ---------- */
.woocommerce-notices-wrapper { margin-bottom: 1.25rem; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
	margin: 0 0 1.125rem; padding: 1rem 1.25rem; list-style: none;
	background: var(--card); border: 1px solid var(--line); border-left: 0.25rem solid var(--red-hot); border-radius: 0.75rem; font-size: 0.875rem;
}
.woocommerce-message { border-left-color: #2ea05a; flex-direction: row-reverse; }
.woocommerce-error { border-left-color: #c00; display: block; }
.woocommerce-error li + li { margin-top: 0.375rem; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a { color: var(--red); text-decoration: underline; }
.woocommerce-message .button, .woocommerce-info .button { padding: 0.6875rem 1.25rem; font-size: 0.8125rem; border-radius: 62.4375rem; }

/* ---------- Botones y campos ---------- */
.woocommerce .button.alt, .woocommerce #place_order, .woocommerce .checkout-button { border-radius: 62.4375rem; padding-block: 1.0625rem; }
.woocommerce .button.disabled { opacity: .5; pointer-events: none; }
.woocommerce a.remove { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: #fff; border: 1px solid var(--line); color: var(--muted) !important; font-size: 1.125rem; line-height: 1; }
.woocommerce a.remove:hover { background: var(--red-hot); border-color: var(--red-hot); color: #fff !important; }

.woocommerce form .form-row { margin: 0 0 0.875rem; }
.woocommerce form .form-row label { display: block; margin-bottom: 0.375rem; font-size: 0.75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.woocommerce form .form-row .required { color: var(--red-hot); text-decoration: none; }
.woocommerce form .form-row .optional { font-weight: 400; text-transform: none; letter-spacing: 0; color: #a5a5a5; }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select, .woocommerce .select2-selection {
	width: 100%; padding: 0.8125rem 0.9375rem; min-height: 3rem; background: #fff; border: 1px solid #dfe4ea; border-radius: 0.625rem;
	font: 500 0.8125rem var(--font); color: var(--ink); transition: border-color .2s, box-shadow .2s;
}
.woocommerce textarea { min-height: 6.875rem; resize: vertical; }
.woocommerce input.input-text:focus, .woocommerce textarea:focus, .woocommerce select:focus { outline: none; border-color: var(--red-hot); box-shadow: 0 0 0 0.1875rem rgba(248, 37, 46, .12); }
.woocommerce .select2-container .select2-selection--single { display: flex; align-items: center; height: 3rem; padding: 0 0.75rem; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.2; color: var(--ink); }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 2.875rem; right: 0.5rem; }
.select2-dropdown { border: 1px solid #dfe4ea !important; border-radius: 0.625rem !important; overflow: hidden; font: 500 0.8125rem var(--font); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--red-hot) !important; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: #c00; }

.woocommerce .quantity { display: inline-flex; }
.woocommerce .quantity input.qty { width: 4.625rem; padding: 0.625rem 0.5rem; min-height: 2.75rem; text-align: center; background: #fff; border: 1px solid #dfe4ea; border-radius: 0.625rem; font: 600 0.875rem var(--font); }

/* ==========================================================================
   Carrito
   ========================================================================== */
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 22.5rem; gap: 1.875rem; align-items: start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper, .woocommerce-cart .woocommerce > .woocommerce-message, .woocommerce-cart .woocommerce > .woocommerce-info { grid-column: 1 / -1; margin-bottom: 0; }
.woocommerce-cart-form { min-width: 0; }

table.shop_table.cart, table.shop_table.cart thead, table.shop_table.cart tbody { display: block; width: 100%; }
table.shop_table.cart { border: 0; border-collapse: separate; }
table.shop_table.cart thead tr, table.shop_table.cart tr.cart_item { display: grid; grid-template-columns: 2.125rem 5.75rem minmax(0, 1fr) 6.875rem 6.25rem 6.875rem; align-items: center; gap: 0.875rem; }
table.shop_table.cart thead tr { padding: 0 1.125rem 0.625rem; }
table.shop_table.cart thead th { padding: 0; border: 0; font-size: 0.6875rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #a5a5a5; text-align: left; }
table.shop_table.cart tr.cart_item { margin-bottom: 0.75rem; padding: 0.875rem 1.125rem; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); }
table.shop_table.cart td { padding: 0; border: 0; }
table.shop_table.cart td.product-thumbnail img { width: 5.75rem; height: 4.375rem; object-fit: contain; background: #fff; border-radius: 0.625rem; padding: 0.375rem; }
table.shop_table.cart td.product-name a { font-size: 0.875rem; font-weight: 700; line-height: 1.3; }
table.shop_table.cart td.product-name a:hover { color: var(--red); }
table.shop_table.cart td.product-price, table.shop_table.cart td.product-subtotal { font-size: 0.9375rem; font-weight: 800; }
table.shop_table.cart .product-subtotal { text-align: right; }
table.shop_table.cart td.actions { display: block; grid-column: 1 / -1; padding: 0.5rem 0 0; }
table.shop_table.cart tbody tr:last-child:not(.cart_item), table.shop_table.cart tbody tr:has(td.actions) { display: block; }
table.shop_table.cart td.actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; }
.woocommerce .coupon { display: flex; gap: 0.5rem; flex: 1; min-width: 16.25rem; }
.woocommerce .coupon label { display: none; }
.woocommerce .coupon input.input-text { max-width: 15rem; }
.woocommerce .coupon .button, .woocommerce button[name="update_cart"] { padding: 0.875rem 1.375rem; border-radius: 62.4375rem; font-size: 0.8125rem; }
.woocommerce button[name="update_cart"] { background: var(--navy); }
.woocommerce button[name="update_cart"]:hover { background: var(--red-hot); }
.woocommerce button[name="update_cart"][disabled] { opacity: .45; pointer-events: none; }

/* Totales: panel oscuro (mismo lenguaje que el bloque de asesoría) */
.cart-collaterals { min-width: 0; }
.cart_totals, .woocommerce-checkout #order_review { background: var(--navy-2); color: #fff; border-radius: 1.125rem; padding: 1.875rem 1.75rem; position: relative; overflow: hidden; }
.cart_totals::after, .woocommerce-checkout #order_review::after { content: ""; position: absolute; right: -1.875rem; top: -1.25rem; width: 3.75rem; height: 7.5rem; background: linear-gradient(115deg, transparent 0 34%, rgba(248, 37, 46, .9) 34% 44%, transparent 44% 58%, rgba(248, 37, 46, .9) 58% 68%, transparent 68%); transform: skewX(-8deg); pointer-events: none; }
.cart_totals h2, .woocommerce-checkout #order_review::before { display: block; margin-bottom: 1.125rem; font-size: 1.25rem; font-weight: 800; }
.woocommerce-checkout #order_review::before { content: "Resumen del pedido"; }
.cart_totals table, .woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.cart_totals th, .cart_totals td, .woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 0.75rem 0; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); text-align: left; font-size: 0.875rem; vertical-align: top; }
.cart_totals th, .woocommerce-checkout-review-order-table thead th { font-size: 0.75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .65); }
.cart_totals td, .woocommerce-checkout-review-order-table td:last-child, .woocommerce-checkout-review-order-table tfoot td { text-align: right; font-weight: 700; }
.cart_totals .order-total td, .cart_totals .order-total th, .woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { border-bottom: 0; padding-top: 1.125rem; font-size: 1.25rem; font-weight: 800; color: #fff; }
.woocommerce-checkout-review-order-table .product-name { font-weight: 600; }
.woocommerce-checkout-review-order-table .product-quantity { color: var(--red-hot); }
.cart_totals ul#shipping_method, #shipping_method { display: grid; gap: 0.375rem; text-align: right; }
.cart_totals .woocommerce-shipping-destination, .cart_totals .shipping-calculator-button { font-size: 0.8125rem; color: rgba(255, 255, 255, .65); }
.cart_totals .shipping-calculator-button { text-decoration: underline; }
.cart_totals .wc-proceed-to-checkout { margin-top: 1.25rem; }
.cart_totals .wc-proceed-to-checkout .checkout-button { display: flex; width: 100%; margin: 0; }

.cart-empty.woocommerce-info { display: block; text-align: center; padding: 3.75rem 1.25rem; font-size: 1rem; font-weight: 700; border-left-width: 1px; border-left-color: var(--line); }
.return-to-shop { text-align: center; margin-top: 0.625rem; }
.woocommerce-cart .cross-sells { grid-column: 1 / -1; }

/* ==========================================================================
   Checkout
   ========================================================================== */
form.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.875rem; align-items: start; }
form.woocommerce-checkout #customer_details { min-width: 0; }
form.woocommerce-checkout #order_review_heading { display: none; }
form.woocommerce-checkout #order_review { grid-column: 2; grid-row: 1; position: sticky; top: 8.125rem; }
.woocommerce-checkout .col2-set { display: block; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: 100%; padding: 1.625rem 1.75rem; margin-bottom: 1.25rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 0.625rem 1.875rem -1.5rem rgba(4, 13, 25, .5); }
.woocommerce-checkout h3 { margin-bottom: 1.125rem; font-size: 1rem; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; }
.woocommerce-checkout h3::before { content: ""; display: inline-block; width: 1.625rem; height: 0.25rem; margin-right: 0.625rem; border-radius: 2px; background: var(--red); vertical-align: middle; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 0.875rem; }
.woocommerce-billing-fields__field-wrapper .form-row, .woocommerce-shipping-fields__field-wrapper .form-row, .woocommerce-address-fields__field-wrapper .form-row { float: none; width: auto; }
.woocommerce form .form-row-wide, .woocommerce form .form-row-first:only-child, #order_comments_field, #billing_address_1_field, #billing_email_field, #shipping_address_1_field { grid-column: 1 / -1; }
.woocommerce-checkout .woocommerce-additional-fields h3 { margin-top: 0.25rem; }
#ship-to-different-address label { display: flex; align-items: center; gap: 0.625rem; text-transform: none; letter-spacing: 0; font-size: 0.875rem; font-weight: 700; }
.woocommerce form .form-row .woocommerce-input-wrapper .description { font-size: 0.8125rem; color: var(--muted); }
.woocommerce-checkout .woocommerce-form-coupon-toggle { grid-column: 1 / -1; }
.woocommerce form.checkout_coupon { display: flex; gap: 0.625rem; flex-wrap: wrap; padding: 1.125rem; margin-bottom: 1.25rem; background: var(--card); border-radius: 0.75rem; }
.woocommerce form.checkout_coupon p { margin: 0; }
.woocommerce form.checkout_coupon .form-row-first { flex: 1; min-width: 12.5rem; }

/* Métodos de pago dentro del panel oscuro */
#payment { margin-top: 1.375rem; }
#payment ul.payment_methods { display: grid; gap: 0.625rem; }
#payment ul.payment_methods > li { padding: 0.875rem 1rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: 0.75rem; background: rgba(255, 255, 255, .04); }
#payment ul.payment_methods > li label { display: inline; margin: 0 0 0 0.5rem; font-size: 0.875rem; font-weight: 700; text-transform: none; letter-spacing: 0; color: #fff; cursor: pointer; }
#payment ul.payment_methods > li img { display: inline-block; height: 1.25rem; width: auto; margin-left: 0.625rem; vertical-align: middle; }
#payment input[type="radio"] { accent-color: var(--red-hot); }
#payment .payment_box { margin-top: 0.625rem; padding: 0.75rem 0.875rem; border-radius: 0.5rem; background: rgba(255, 255, 255, .06); font-size: 0.8125rem; color: rgba(255, 255, 255, .8); }
#payment .payment_box p { margin: 0; }
#payment .payment_box input.input-text { background: #fff; }
.woocommerce-terms-and-conditions-wrapper { margin-top: 1rem; font-size: 0.8125rem; color: rgba(255, 255, 255, .7); }
.woocommerce-terms-and-conditions-wrapper a { color: #fff; text-decoration: underline; }
.woocommerce-privacy-policy-text { font-size: 0.8125rem; line-height: 1.5; color: var(--muted); }
.woocommerce-privacy-policy-text a { color: var(--red); text-decoration: underline; }
#order_review .woocommerce-privacy-policy-text { margin-bottom: 0.875rem; color: rgba(255, 255, 255, .65); }
#order_review .woocommerce-privacy-policy-text a { color: #fff; }
.woocommerce form.login p, .woocommerce form.register p { font-size: 0.875rem; line-height: 1.5; }
.woocommerce-checkout #place_order { display: flex; width: 100%; margin-top: 1rem; font-size: 0.9375rem; }
.woocommerce-checkout .woocommerce-form__label-for-checkbox { display: flex !important; gap: 0.5rem; align-items: flex-start; text-transform: none; letter-spacing: 0; font-weight: 500; font-size: 0.8125rem; color: inherit; }
.woocommerce-checkout .blockUI.blockOverlay { border-radius: 1.125rem; }

/* ==========================================================================
   Pedido recibido
   ========================================================================== */
.woocommerce-order { max-width: 61.25rem; }
.woocommerce-thankyou-order-received { display: block; margin-bottom: 1.5rem; padding: 1.75rem; text-align: center; border: 0; border-radius: 1rem; background: var(--navy-2); color: #fff; font-size: 1.25rem; font-weight: 800; }
.woocommerce-thankyou-order-received::before { content: "✓"; display: grid; place-items: center; width: 3.375rem; height: 3.375rem; margin: 0 auto 0.75rem; border-radius: 50%; background: var(--red-hot); font-size: 1.625rem; }
ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(9.375rem, 1fr)); gap: 0.75rem; margin-bottom: 1.875rem; }
ul.woocommerce-order-overview li { padding: 1rem; background: var(--card); border: 1px solid var(--line); border-radius: 0.75rem; font-size: 0.6875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
ul.woocommerce-order-overview li strong { display: block; margin-top: 0.375rem; font-size: 0.875rem; letter-spacing: 0; text-transform: none; color: var(--ink); }
.woocommerce-order > p { margin-bottom: 1.5rem; font-size: 0.875rem; color: var(--ink-2); }
.woocommerce-order-details, .woocommerce-customer-details { margin-bottom: 1.875rem; }
.woocommerce-customer-details address { font-size: 0.875rem; }
.woocommerce-order-details h2, .woocommerce-customer-details h2, .woocommerce-column__title { margin-bottom: 0.875rem; font-size: 1rem; font-weight: 800; text-transform: uppercase; }
table.woocommerce-table, table.shop_table:not(.cart):not(.woocommerce-checkout-review-order-table):not(.shop_table_responsive) { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--line); border-radius: 0.75rem; overflow: hidden; font-size: 0.875rem; }
table.woocommerce-table th, table.woocommerce-table td, table.shop_table:not(.cart):not(.woocommerce-checkout-review-order-table) th, table.shop_table:not(.cart):not(.woocommerce-checkout-review-order-table) td { padding: 0.875rem 1rem; text-align: left; border-bottom: 1px solid var(--line); }
table.woocommerce-table thead th { background: var(--card); font-size: 0.75rem; letter-spacing: .1em; text-transform: uppercase; }
table.woocommerce-table tr:last-child > * { border-bottom: 0; }
.woocommerce-customer-details address { padding: 1.125rem; font-style: normal; line-height: 1.7; background: var(--card); border: 1px solid var(--line); border-radius: 0.75rem; }

/* ==========================================================================
   Mi cuenta
   ========================================================================== */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 16.25rem minmax(0, 1fr); gap: 2.125rem; align-items: start; }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; margin: 0; }
.woocommerce-MyAccount-navigation ul { display: grid; gap: 0.375rem; padding: 0.75rem; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); }
.woocommerce-MyAccount-navigation a { display: block; padding: 0.75rem 0.875rem 0.75rem 1.375rem; position: relative; border-radius: 0.625rem; font-size: 0.8125rem; font-weight: 700; }
.woocommerce-MyAccount-navigation a:hover { background: #fff; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--navy-2); color: #fff; }
.woocommerce-MyAccount-navigation .is-active a::before { content: ""; position: absolute; left: 0.5rem; top: 50%; width: 0.1875rem; height: 0.875rem; background: var(--red-hot); transform: translateY(-50%) skewX(-18deg); }
.woocommerce-MyAccount-content { min-width: 0; padding: 1.875rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 0.625rem 1.875rem -1.5rem rgba(4, 13, 25, .5); }
.woocommerce-MyAccount-content > * + * { margin-top: 1em; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--red); text-decoration: underline; }
.woocommerce-MyAccount-content .woocommerce-Address-title h2, .woocommerce-MyAccount-content h2 { font-size: 1.125rem; font-weight: 800; }
.woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.woocommerce-MyAccount-orders .button { padding: 0.5625rem 1rem; font-size: 0.8125rem; }
.woocommerce-MyAccount-orders td, .woocommerce-MyAccount-orders th { font-size: 0.8125rem; }

/* Ingreso / registro */
.woocommerce-account:not(.logged-in) .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; max-width: 56.25rem; margin-inline: auto; }
.woocommerce-account:not(.logged-in) .u-column1, .woocommerce-account:not(.logged-in) .u-column2, .woocommerce-account:not(.logged-in) #customer_login > div { float: none; width: auto; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password, .woocommerce-account:not(.logged-in) .woocommerce > form { padding: 1.875rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 0.625rem 1.875rem -1.5rem rgba(4, 13, 25, .5); }
.woocommerce-account:not(.logged-in) .woocommerce > form { max-width: 32.5rem; margin-inline: auto; }
.woocommerce-account:not(.logged-in) .woocommerce h2 { margin-bottom: 1rem; font-size: 1.25rem; font-weight: 800; text-transform: uppercase; text-align: center; }
.woocommerce form.login .button, .woocommerce form.register .button { width: 100%; margin-top: 0.375rem; border-radius: 62.4375rem; }
.woocommerce form .password-input { position: relative; display: block; }
.woocommerce form .show-password-input { position: absolute; right: 0.75rem; top: 50%; translate: 0 -50%; width: 1.5rem; height: 1.5rem; background: none; border: 0; opacity: .5; }
.woocommerce-LostPassword { margin-top: 0.875rem; font-size: 0.8125rem; text-align: center; }
.woocommerce-LostPassword a { text-decoration: underline; color: var(--red); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1000px) {
	.woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
	form.woocommerce-checkout { grid-template-columns: 1fr; }
	form.woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
	table.shop_table.cart thead { display: none; }
	table.shop_table.cart tr.cart_item { grid-template-columns: 78px minmax(0, 1fr) auto; grid-template-areas: "img name rm" "img price price" "img qty sub"; gap: 6px 12px; padding: 14px; position: relative; }
	table.shop_table.cart td.product-remove { grid-area: rm; justify-self: end; }
	table.shop_table.cart td.product-thumbnail { grid-area: img; }
	table.shop_table.cart td.product-thumbnail img { width: 78px; height: 64px; }
	table.shop_table.cart td.product-name { grid-area: name; }
	table.shop_table.cart td.product-price { grid-area: price; font-size: 13px; }
	table.shop_table.cart td.product-quantity { grid-area: qty; }
	table.shop_table.cart td.product-subtotal { grid-area: sub; align-self: center; white-space: nowrap; }
	.woocommerce .quantity input.qty { width: 64px; }
	.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
	.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { padding: 20px 18px; }
	.woocommerce-account:not(.logged-in) .u-columns, .woocommerce-Addresses { grid-template-columns: 1fr; }
	.woocommerce-MyAccount-navigation ul { grid-template-columns: 1fr; }
	.woocommerce-MyAccount-content, .cart_totals, .woocommerce-checkout #order_review { padding: 22px 18px; }
	.ph-steps li + li::before { width: 18px; }
	table.woocommerce-table--order-details, .woocommerce-MyAccount-orders { font-size: 12px; }
}

/* La ficha de producto conserva su look oscuro dentro del hero */
.ph-pd-hero__cart .quantity input.qty { min-height: 0; padding: 0.875rem 0.5rem; background: transparent; border-color: rgba(255, 255, 255, .35); color: #fff; }
.ph-pd-hero__cart select { min-height: 0; width: auto; padding: 0.5625rem 0.75rem; background: var(--navy); border-color: rgba(255, 255, 255, .35); color: #fff; }

/* Totales y resumen sobre panel oscuro: sin marco de tabla */
.cart_totals table.shop_table, .woocommerce-checkout-review-order-table { border: 0; border-radius: 0; overflow: visible; background: transparent; }


