/* Santé Press Suite — WooCommerce con la identidad de marca (azul noche #17143f · dorado #d9b861 · bronce #cba66f · arena #bbab7e) */
body.woocommerce, body.woocommerce-page { --sps-navy: #17143f; --sps-gold: #d9b861; --sps-bronze: #cba66f; --sps-sand: #bbab7e; --sps-cream: #f8f4e9; --sps-line: rgba(23,20,63,.14); }
.woocommerce .woocommerce-breadcrumb { font-size: .85rem; color: rgba(23,20,63,.7); margin: 0 0 1.2rem; }
.woocommerce .woocommerce-breadcrumb a { color: inherit; text-decoration: underline; text-decoration-color: var(--sps-gold); }
.woocommerce-page .site-main, .woocommerce .site-main { max-width: 1280px !important; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
.woocommerce h1.page-title, .woocommerce div.product .product_title { font-family: var(--sps-fh, inherit); color: var(--sps-navy); line-height: 1.15; }

/* Botones */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce-page a.button, .wc-block-components-button:not(.is-link) {
	background: var(--sps-gold); color: var(--sps-navy); border: 2px solid var(--sps-gold); border-radius: 999px; font-weight: 800; padding: .8rem 1.5rem; line-height: 1.2; transition: background .2s, transform .2s, color .2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover, .wc-block-components-button:not(.is-link):hover {
	background: var(--sps-bronze); border-color: var(--sps-bronze); color: var(--sps-navy); transform: translateY(-1px);
}
.woocommerce a.button:focus-visible, .woocommerce button.button:focus-visible, .woocommerce input.button:focus-visible { outline: 3px solid var(--sps-navy); outline-offset: 2px; }
.woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce #place_order { background: var(--sps-navy); border-color: var(--sps-navy); color: #fff; }
.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover, .woocommerce #place_order:hover { background: #2c2778; border-color: #2c2778; color: #fff; }
.woocommerce a.button.disabled, .woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .5; }

/* Catálogo */
.woocommerce ul.products { display: grid; gap: 1.4rem; grid-template-columns: repeat(2, 1fr); margin: 0 0 2rem; padding: 0; }
@media (min-width: 900px) { .woocommerce ul.products { grid-template-columns: repeat(4, 1fr); } }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; display: flex; flex-direction: column; gap: .4rem; position: relative; }
.woocommerce ul.products li.product a img { border-radius: 14px; aspect-ratio: 1 / 1; object-fit: cover; margin: 0 0 .6rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem; line-height: 1.3; padding: 0; color: var(--sps-navy); font-weight: 700; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--sps-navy); font-weight: 800; }
.woocommerce ul.products li.product .price del, .woocommerce div.product p.price del { opacity: .5; font-weight: 500; }
.woocommerce ul.products li.product .price ins, .woocommerce div.product p.price ins { text-decoration: none; background: none; }
.woocommerce ul.products li.product .button { margin-top: auto; align-self: flex-start; padding: .6rem 1.1rem; font-size: .88rem; }
.woocommerce span.onsale { background: var(--sps-navy); color: var(--sps-gold); border-radius: 999px; min-height: 0; min-width: 0; line-height: 1; padding: .45rem .75rem; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; top: .7rem; left: .7rem; right: auto; margin: 0; }
.woocommerce .woocommerce-ordering select, .woocommerce .woocommerce-result-count { font-size: .9rem; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: .4rem; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border: 1px solid var(--sps-sand); border-radius: 999px; padding: .5rem .9rem; color: var(--sps-navy); }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--sps-navy); color: #fff; border-color: var(--sps-navy); }

/* Producto */
.woocommerce div.product div.images img { border-radius: 14px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 999px 999px 0 0; background: var(--sps-cream); border-color: var(--sps-sand); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--sps-navy); font-weight: 700; }
.woocommerce .quantity .qty { border: 1px solid var(--sps-sand); border-radius: 999px; padding: .6rem; min-width: 4.2rem; }

/* Avisos */
.woocommerce-message, .woocommerce-info, .woocommerce-error { background: var(--sps-cream); border: 1px solid var(--sps-sand); border-left: 4px solid var(--sps-gold); border-top: 1px solid var(--sps-sand); color: var(--sps-navy); border-radius: 12px; }
.woocommerce-error { border-left-color: #b32d2e; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--sps-bronze); }
.woocommerce-message a.button, .woocommerce-info a.button { background: var(--sps-navy); border-color: var(--sps-navy); color: #fff; }

/* Carrito y checkout */
.woocommerce table.shop_table { border: 1px solid var(--sps-line); border-radius: 14px; border-collapse: separate; overflow: hidden; background: #fff; }
.woocommerce table.shop_table th { background: var(--sps-cream); color: var(--sps-navy); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--sps-line); }
.woocommerce table.shop_table .product-thumbnail img { border-radius: 10px; width: 64px; }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { background: var(--sps-cream); border: 1px solid var(--sps-sand); border-radius: 14px; padding: 1.2rem 1.3rem; }
.woocommerce-cart .cart-collaterals .cart_totals h2, .woocommerce-checkout #order_review_heading, .woocommerce-checkout h3 { font-family: var(--sps-fh, inherit); color: var(--sps-navy); }
.woocommerce-cart table.cart td.actions .coupon .input-text { border-radius: 999px; border: 1px solid var(--sps-sand); padding: .7rem 1rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { border: 1px solid var(--sps-sand); border-radius: 10px; padding: .75rem .9rem; min-height: 46px; background: #fff; color: var(--sps-navy); }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { outline: 3px solid var(--sps-bronze); outline-offset: 1px; border-color: var(--sps-navy); }
.woocommerce form .form-row label { font-weight: 600; color: var(--sps-navy); }
.woocommerce-checkout #payment { background: #fff; border: 1px solid var(--sps-line); border-radius: 14px; }
.woocommerce-checkout #payment div.payment_box { background: var(--sps-cream); color: var(--sps-navy); border-radius: 10px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--sps-cream); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--sps-line); }
tr.fee th, tr.fee td { color: #0a6b3c; font-weight: 700; }

/* Mi cuenta */
.woocommerce-account .woocommerce { display: grid; gap: 1.5rem; }
@media (min-width: 860px) { .woocommerce-account .woocommerce { grid-template-columns: 250px 1fr; } .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; } }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: .5rem; background: var(--sps-cream); border: 1px solid var(--sps-sand); border-radius: 14px; display: grid; gap: .15rem; }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation a, body.sps-brand .woocommerce-MyAccount-navigation a { display: block; padding: .7rem .9rem; border-radius: 10px; color: var(--sps-navy); text-decoration: none; font-weight: 600; background: transparent; }
.woocommerce-MyAccount-navigation a:hover, .woocommerce-MyAccount-navigation a:focus-visible { background: #fff; outline: none; }
.woocommerce-MyAccount-navigation li.is-active a, body.sps-brand .woocommerce-MyAccount-navigation li.is-active a, body.sps-brand .woocommerce-MyAccount-navigation li.is-active a:hover, body.sps-brand .woocommerce-MyAccount-navigation li.is-active a:focus { background: var(--sps-navy) !important; color: #fff !important; text-decoration: none; }
body.sps-brand .woocommerce-MyAccount-navigation li:not(.is-active) a:hover { background: #fff; color: var(--sps-navy); }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--membresia a::after { content: "PRO"; display: inline-block; margin-left: .5rem; font: 800 .62rem/1 sans-serif; background: var(--sps-gold); color: var(--sps-navy); padding: .25rem .4rem; border-radius: 999px; letter-spacing: .06em; }
.woocommerce-MyAccount-navigation li.is-active.woocommerce-MyAccount-navigation-link--membresia a::after { background: var(--sps-gold); }
.woocommerce form.login, .woocommerce form.register { border: 1px solid var(--sps-line); border-radius: 14px; padding: 1.4rem; }

/* Bloques de WooCommerce (carrito/checkout con bloques) */
.wc-block-components-button:not(.is-link) { background: var(--sps-navy); color: #fff; border-color: var(--sps-navy); }
.wc-block-components-button:not(.is-link):hover { background: #2c2778; color: #fff; }
.wc-block-components-totals-item__label, .wc-block-components-product-name { color: var(--sps-navy); }

/* Botones y avisos de Woo: texto legible sobre su fondo en cualquier estado */
body.sps-brand .woocommerce a.button, body.sps-brand .woocommerce button.button, body.sps-brand .woocommerce input.button { text-decoration: none; color: #17143f; }
body.sps-brand .woocommerce button.button.alt, body.sps-brand .woocommerce a.button.alt, body.sps-brand .woocommerce #place_order, body.sps-brand .woocommerce-message a.button, body.sps-brand .woocommerce-info a.button { color: #fff; }
body.sps-brand .woocommerce button.button.alt:hover, body.sps-brand .woocommerce a.button.alt:hover, body.sps-brand .woocommerce #place_order:hover { color: #fff; }
body.sps-brand .woocommerce span.onsale { color: #d9b861; }
