/* CódigoX · tienda — WooCommerce con el diseño del tema codigox-orbita.
   Usa las variables del tema (--cx-*). Prefijo: body.cx-orbita.woocommerce-page,
   clase que WooCommerce pone en el <body> de TODAS sus páginas (en la ficha y la
   tienda la clase .woocommerce va en el body, no en un div). Gana a la hoja
   general de WooCommerce sin !important. */

/* ── Base ───────────────────────────────────────────────────────────── */
body.cx-orbita .cx-woo { color: var(--cx-text); font-family: var(--cx-mono); }
body.cx-orbita .cx-woo a,
body.cx-orbita.woocommerce-page .cx-prose a { color: var(--cx-green); }
body.cx-orbita .woocommerce-breadcrumb { font-family: var(--cx-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--cx-dim); margin: 0 0 28px; }
body.cx-orbita .woocommerce-breadcrumb a { color: var(--cx-muted); text-decoration: none; }
body.cx-orbita.woocommerce-page .cx-prose { max-width: none; }
body.cx-orbita.woocommerce-page .cx-prose h2,
body.cx-orbita.woocommerce-page .cx-prose h3 { margin-top: 0; }
/* ── Botones: los del tema ──────────────────────────────────────────── */
body.cx-orbita.woocommerce-page a.button,
body.cx-orbita.woocommerce-page button.button,
body.cx-orbita.woocommerce-page input.button,
body.cx-orbita.woocommerce-page a.button.alt,
body.cx-orbita.woocommerce-page button.button.alt,
body.cx-orbita.woocommerce-page input.button.alt,
body.cx-orbita.woocommerce-page #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: var(--cx-mono); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
	padding: 16px 24px; min-height: 52px; line-height: 1.2; border-radius: var(--cx-radius);
	background: var(--cx-green); color: var(--cx-bg); border: 1px solid var(--cx-green); text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
}
body.cx-orbita.woocommerce-page a.button:hover,
body.cx-orbita.woocommerce-page button.button:hover,
body.cx-orbita.woocommerce-page input.button:hover,
body.cx-orbita.woocommerce-page a.button.alt:hover,
body.cx-orbita.woocommerce-page button.button.alt:hover {
	background: var(--cx-white); border-color: var(--cx-white); color: var(--cx-bg);
}
/* secundarios (actualizar carrito,
cupón,
ver carrito): como .cx-btn--ghost */
body.cx-orbita.woocommerce-page button[name="update_cart"],
body.cx-orbita.woocommerce-page button[name="apply_coupon"],
body.cx-orbita.woocommerce-page a.added_to_cart,
body.cx-orbita.woocommerce-page .woocommerce-MyAccount-content a.button:not(.alt) {
	background: transparent; color: var(--cx-white); border-color: var(--cx-line-3);
}
body.cx-orbita.woocommerce-page button[name="update_cart"]:hover,
body.cx-orbita.woocommerce-page button[name="apply_coupon"]:hover { background: transparent; color: var(--cx-green); border-color: var(--cx-green); }
body.cx-orbita.woocommerce-page button.button:disabled,
body.cx-orbita.woocommerce-page button.button:disabled[disabled] { opacity: .45; padding: 16px 24px; color: var(--cx-white); background: transparent; border-color: var(--cx-line-2); }
/* ── Avisos ─────────────────────────────────────────────────────────── */
body.cx-orbita .woocommerce-message,
body.cx-orbita .woocommerce-info,
body.cx-orbita .woocommerce-error {
	background: var(--cx-bg-2); color: var(--cx-text); border: 1px solid var(--cx-line-2); border-left: 3px solid var(--cx-green);
	border-radius: var(--cx-radius); font-family: var(--cx-mono); font-size: 14px; line-height: 1.6; padding: 18px 22px 18px 52px; margin: 0 0 28px;
}
body.cx-orbita .woocommerce-message::before,
body.cx-orbita .woocommerce-info::before { color: var(--cx-green); top: 18px; left: 20px; }
body.cx-orbita .woocommerce-error { border-left-color: #ff5a5f; }
body.cx-orbita .woocommerce-error::before { color: #ff5a5f; top: 18px; left: 20px; }
body.cx-orbita .woocommerce-message .button,
body.cx-orbita .woocommerce-info .button { float: right; min-height: 0; padding: 8px 14px; font-size: 11px; margin: -4px 0 0 16px; }
/* ── Formularios ────────────────────────────────────────────────────── */
body.cx-orbita.woocommerce-page form .form-row label,
body.cx-orbita .woocommerce-page form .form-row label {
	font-family: var(--cx-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--cx-muted); margin-bottom: 8px; line-height: 1.4;
}
body.cx-orbita.woocommerce-page form .form-row .required { color: var(--cx-green); text-decoration: none; }
body.cx-orbita.woocommerce-page form .form-row input.input-text,
body.cx-orbita.woocommerce-page form .form-row textarea,
body.cx-orbita.woocommerce-page form .form-row select,
body.cx-orbita.woocommerce-page .quantity .qty,
body.cx-orbita.woocommerce-page #coupon_code,
body.cx-orbita .woocommerce-page form .form-row input.input-text,
body.cx-orbita .select2-container .select2-selection--single {
	height: 52px; padding: 0 16px; border: 1px solid var(--cx-line-2); background: var(--cx-bg-3); color: var(--cx-white);
	font-family: var(--cx-mono); font-size: 14px; border-radius: var(--cx-radius); box-shadow: none; outline: none;
}
body.cx-orbita.woocommerce-page form .form-row textarea { height: auto; min-height: 120px; padding: 14px 16px; }
body.cx-orbita.woocommerce-page form .form-row input.input-text:focus,
body.cx-orbita.woocommerce-page form .form-row textarea:focus,
body.cx-orbita .select2-container--open .select2-selection--single { border-color: var(--cx-green); }
body.cx-orbita.woocommerce-page form .form-row.woocommerce-invalid input.input-text { border-color: #ff5a5f; }
body.cx-orbita .select2-container .select2-selection--single .select2-selection__rendered { line-height: 50px; padding: 0; color: var(--cx-white); }
body.cx-orbita .select2-container .select2-selection--single .select2-selection__arrow { height: 50px; right: 10px; }
body.cx-orbita .select2-dropdown { background: var(--cx-bg-3); border-color: var(--cx-line-2); color: var(--cx-text); font-family: var(--cx-mono); }
body.cx-orbita .select2-container--default .select2-results__option--highlighted[aria-selected],
body.cx-orbita .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--cx-green); color: var(--cx-bg); }
body.cx-orbita .select2-search--dropdown .select2-search__field { background: var(--cx-bg); border-color: var(--cx-line-2); color: var(--cx-white); }
body.cx-orbita.woocommerce-page form .form-row input[type="checkbox"] { accent-color: var(--cx-green); }
/* ── Tablas (carrito,
pedido,
Mi cuenta) ────────────────────────────── */
body.cx-orbita.woocommerce-page table.shop_table {
	border: 1px solid var(--cx-line-2); border-radius: var(--cx-radius); border-collapse: collapse; background: var(--cx-bg-2); margin: 0 0 32px; font-family: var(--cx-mono);
}
body.cx-orbita.woocommerce-page table.shop_table th {
	font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--cx-muted); font-weight: 500; padding: 16px 20px; border-bottom: 1px solid var(--cx-line-2);
}
body.cx-orbita.woocommerce-page table.shop_table td { padding: 18px 20px; border-top: 1px solid var(--cx-line); color: var(--cx-text); vertical-align: middle; }
body.cx-orbita.woocommerce-page table.shop_table td.product-name a { color: var(--cx-white); text-decoration: none; font-family: var(--cx-sans); font-weight: 700; text-transform: uppercase; letter-spacing: -.01em; }
body.cx-orbita.woocommerce-page table.shop_table tfoot th,
body.cx-orbita.woocommerce-page table.shop_table tfoot td { border-top: 1px solid var(--cx-line-2); }
body.cx-orbita.woocommerce-page table.shop_table .order-total .amount,
body.cx-orbita.woocommerce-page table.shop_table .order-total th { color: var(--cx-white); font-size: 18px; }
body.cx-orbita.woocommerce-page table.cart img { width: 72px; border: 1px solid var(--cx-line-2); border-radius: var(--cx-radius); }
body.cx-orbita.woocommerce-page a.remove { color: var(--cx-muted) !important; border: 1px solid var(--cx-line-3); border-radius: var(--cx-radius); font-family: var(--cx-mono); }
body.cx-orbita.woocommerce-page a.remove:hover { background: #ff5a5f; border-color: #ff5a5f; color: #fff !important; }
body.cx-orbita.woocommerce-page table.cart td.actions { background: var(--cx-bg); }
/* ── Carrito: totales ───────────────────────────────────────────────── */
body.cx-orbita.woocommerce-page .cart-collaterals .cart_totals,
body.cx-orbita .woocommerce-page .cart-collaterals .cart_totals { width: 100%; max-width: 480px; float: right; }
body.cx-orbita.woocommerce-page .cart_totals h2 { font-family: var(--cx-sans); font-size: 24px; text-transform: uppercase; color: var(--cx-white); margin: 0 0 16px; }
body.cx-orbita.woocommerce-page .wc-proceed-to-checkout { padding: 0; }
body.cx-orbita.woocommerce-page .wc-proceed-to-checkout a.checkout-button { width: 100%; font-size: 14px; padding: 20px 24px; margin: 0; }
body.cx-orbita.woocommerce-page .cart-empty.woocommerce-info { font-size: 15px; }
body.cx-orbita.woocommerce-page .return-to-shop .button { margin-top: 8px; }

/* ── Pago (checkout) ────────────────────────────────────────────────── */
@media (min-width: 900px) {body.cx-orbita.woocommerce-checkout form.checkout {
		display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); grid-template-areas: "datos titulo" "datos resumen"; column-gap: 56px; align-items: start;
	}
body.cx-orbita.woocommerce-checkout form.checkout #customer_details { grid-area: datos; }
body.cx-orbita.woocommerce-checkout form.checkout #order_review_heading { grid-area: titulo; }
body.cx-orbita.woocommerce-checkout form.checkout #order_review { grid-area: resumen; position: sticky; top: 110px; }
body.cx-orbita.woocommerce-checkout #customer_details .col-1,
body.cx-orbita.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
}
body.cx-orbita.woocommerce-checkout h3,
body.cx-orbita.woocommerce-checkout #order_review_heading {
	font-family: var(--cx-sans); font-size: 24px; font-weight: 700; text-transform: uppercase; letter-spacing: -.02em; color: var(--cx-white); margin: 0 0 20px;
}
body.cx-orbita.woocommerce-checkout .woocommerce-billing-fields,
body.cx-orbita.woocommerce-checkout .woocommerce-additional-fields:has(.form-row),
body.cx-orbita.woocommerce-checkout .woocommerce-account-fields { border: 1px solid var(--cx-line-2); background: var(--cx-bg-2); padding: 28px; border-radius: var(--cx-radius); margin-bottom: 24px; }
body.cx-orbita .woocommerce-checkout #payment,
body.cx-orbita.woocommerce-page #payment {
	background: var(--cx-bg-2); border: 1px solid var(--cx-line-2); border-radius: var(--cx-radius);
}
body.cx-orbita.woocommerce-page #payment ul.payment_methods { border-bottom: 1px solid var(--cx-line-2); padding: 20px 22px; }
body.cx-orbita.woocommerce-page #payment ul.payment_methods li { color: var(--cx-white); font-family: var(--cx-mono); font-size: 14px; }
body.cx-orbita.woocommerce-page #payment div.payment_box { background: var(--cx-bg-3); color: var(--cx-text); border: 1px solid var(--cx-line-2); font-size: 13px; border-radius: var(--cx-radius); }
body.cx-orbita.woocommerce-page #payment div.payment_box::before { border-bottom-color: var(--cx-bg-3); }
body.cx-orbita.woocommerce-page #payment div.form-row { padding: 20px 22px; }
body.cx-orbita.woocommerce-page #payment #place_order { width: 100%; float: none; font-size: 14px; padding: 20px 24px; }
body.cx-orbita .woocommerce-terms-and-conditions-wrapper,
body.cx-orbita .woocommerce-privacy-policy-text { font-size: 12px; line-height: 1.6; color: var(--cx-muted); }
body.cx-orbita.woocommerce-page form.checkout_coupon,
body.cx-orbita.woocommerce-page form.login,
body.cx-orbita.woocommerce-page form.register {
	border: 1px solid var(--cx-line-2); background: var(--cx-bg-2); border-radius: var(--cx-radius); padding: 24px;
}
/* Confirmación del pedido */
body.cx-orbita.woocommerce-page ul.order_details { border: 1px solid var(--cx-line-2); background: var(--cx-bg-2); padding: 22px; display: flex; flex-wrap: wrap; gap: 18px 36px; margin: 0 0 32px; }
body.cx-orbita.woocommerce-page ul.order_details li { border: 0; margin: 0; padding: 0; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--cx-muted); }
body.cx-orbita.woocommerce-page ul.order_details li strong { display: block; margin-top: 6px; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--cx-white); }
body.cx-orbita.woocommerce-page .woocommerce-thankyou-order-received { font-family: var(--cx-sans); font-size: 28px; font-weight: 700; text-transform: uppercase; color: var(--cx-green); }
body.cx-orbita .cxw-woo-gracias { background: var(--cx-bg-2); border-color: var(--cx-green) !important; border-radius: var(--cx-radius) !important; }
body.cx-orbita .cxw-woo-gracias h2 { font-family: var(--cx-sans); text-transform: uppercase; color: var(--cx-white); }
/* ── Tienda: rejilla de productos ───────────────────────────────────── */
body.cx-orbita.woocommerce-page .woocommerce-result-count { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--cx-dim); }
body.cx-orbita.woocommerce-page .woocommerce-ordering select { height: 44px; background: var(--cx-bg-3); color: var(--cx-white); border: 1px solid var(--cx-line-2); font-family: var(--cx-mono); font-size: 13px; padding: 0 12px; border-radius: var(--cx-radius); }
body.cx-orbita.woocommerce-page ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; }
body.cx-orbita.woocommerce-page ul.products::before,
body.cx-orbita.woocommerce-page ul.products::after { display: none; }
body.cx-orbita.woocommerce-page ul.products li.product {
	width: auto; margin: 0; float: none; padding: 0 0 22px; background: var(--cx-bg-2); border: 1px solid var(--cx-line-2); border-radius: var(--cx-radius);
	display: flex; flex-direction: column; transition: border-color .2s, transform .2s;
}
body.cx-orbita.woocommerce-page ul.products li.product:hover { border-color: var(--cx-green); transform: translateY(-3px); }
body.cx-orbita.woocommerce-page ul.products li.product a img { margin: 0 0 18px; border-bottom: 1px solid var(--cx-line-2); aspect-ratio: 1 / 1; object-fit: cover; }
body.cx-orbita.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--cx-sans); font-size: 22px; font-weight: 700; text-transform: uppercase; letter-spacing: -.02em; color: var(--cx-white); padding: 0 22px; margin: 0 0 8px;
}
body.cx-orbita.woocommerce-page ul.products li.product .price { color: var(--cx-green); font-family: var(--cx-mono); font-size: 16px; padding: 0 22px; margin: 0 0 18px; }
body.cx-orbita.woocommerce-page ul.products li.product .button { margin: auto 22px 0; }
body.cx-orbita.woocommerce-page span.onsale { background: var(--cx-green); color: var(--cx-bg); border-radius: var(--cx-radius); font-family: var(--cx-mono); font-size: 11px; min-height: 0; min-width: 0; padding: 6px 10px; line-height: 1; }
/* ── Ficha de producto ──────────────────────────────────────────────── */
body.cx-orbita.woocommerce-page div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
body.cx-orbita.woocommerce-page div.product div.images,
body.cx-orbita.woocommerce-page div.product div.summary { width: 100%; float: none; margin: 0; }
body.cx-orbita.woocommerce-page div.product div.images img { border: 1px solid var(--cx-line-2); border-radius: var(--cx-radius); background: var(--cx-bg-2); }
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs,
body.cx-orbita.woocommerce-page div.product .related,
body.cx-orbita.woocommerce-page div.product .upsells { grid-column: 1 / -1; }
body.cx-orbita.woocommerce-page div.product .product_title {
	font-family: var(--cx-sans); font-size: clamp(36px, 5vw, 64px); font-weight: 700; line-height: 1; text-transform: uppercase; letter-spacing: -.03em; color: var(--cx-white); margin: 0 0 18px;
}
body.cx-orbita.woocommerce-page div.product p.price,
body.cx-orbita.woocommerce-page div.product span.price { color: var(--cx-green); font-family: var(--cx-mono); font-size: 28px; font-weight: 600; margin: 0 0 22px; }
body.cx-orbita .cx-woo-periodo { font-size: .6em; color: var(--cx-muted); font-weight: 400; letter-spacing: .04em; }
body.cx-orbita.woocommerce-page div.product .woocommerce-product-details__short-description { font-size: 15px; line-height: 1.75; color: var(--cx-text); margin: 0 0 28px; }
body.cx-orbita.woocommerce-page div.product form.cart { display: flex; gap: 12px; align-items: stretch; margin: 0 0 28px; padding: 24px 0; border-top: 1px solid var(--cx-line); border-bottom: 1px solid var(--cx-line); }
body.cx-orbita.woocommerce-page div.product form.cart .button { flex: 1; font-size: 14px; padding: 20px 28px; }
body.cx-orbita.woocommerce-page .quantity .qty { width: 84px; text-align: center; padding: 0 8px; }
body.cx-orbita.woocommerce-page div.product .product_meta { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--cx-dim); }
body.cx-orbita.woocommerce-page div.product .product_meta a { color: var(--cx-muted); }
/* pestañas */
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 24px 0 0; border-bottom: 1px solid var(--cx-line-2); display: flex; gap: 28px; }
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs ul.tabs::before,
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs ul.tabs li::before,
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs ul.tabs li::after { display: none; }
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; padding: 0; }
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs ul.tabs li a { font-family: var(--cx-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--cx-muted); padding: 14px 0; border-bottom: 2px solid transparent; }
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active a { color: var(--cx-white); border-bottom-color: var(--cx-green); }
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs .panel { padding: 32px 0 0; font-size: 15px; line-height: 1.8; color: var(--cx-text); max-width: 860px; }
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs .panel h2 { font-family: var(--cx-sans); font-size: 28px; text-transform: uppercase; color: var(--cx-white); margin: 1.6em 0 .6em; }
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs .panel h2:first-child { margin-top: 0; }
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs .panel ul { padding-left: 20px; }
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs .panel li { margin: 6px 0; }
body.cx-orbita.woocommerce-page div.product .woocommerce-tabs .panel li::marker { color: var(--cx-green); }
body.cx-orbita.woocommerce-page .related > h2,
body.cx-orbita.woocommerce-page .upsells > h2 { font-family: var(--cx-sans); font-size: 32px; text-transform: uppercase; color: var(--cx-white); margin: 56px 0 24px; }

/* ── Mi cuenta ──────────────────────────────────────────────────────── */
@media (min-width: 900px) {body.cx-orbita.woocommerce-account.logged-in .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; }
body.cx-orbita.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
body.cx-orbita.woocommerce-account .woocommerce-MyAccount-navigation,
body.cx-orbita.woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
}
body.cx-orbita .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--cx-line-2); background: var(--cx-bg-2); }
body.cx-orbita .woocommerce-MyAccount-navigation li { border-top: 1px solid var(--cx-line); margin: 0; }
body.cx-orbita .woocommerce-MyAccount-navigation li:first-child { border-top: 0; }
body.cx-orbita .woocommerce-MyAccount-navigation li a { display: block; padding: 14px 18px; font-family: var(--cx-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--cx-text); text-decoration: none; }
body.cx-orbita .woocommerce-MyAccount-navigation li.is-active a,
body.cx-orbita .woocommerce-MyAccount-navigation li a:hover { color: var(--cx-green); background: var(--cx-bg-3); }
body.cx-orbita .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--cxw-pases a { color: var(--cx-green); }
body.cx-orbita .woocommerce-MyAccount-content { font-size: 15px; line-height: 1.75; }

/* ── Móvil ──────────────────────────────────────────────────────────── */
@media (max-width: 899px) {body.cx-orbita.woocommerce-page div.product { grid-template-columns: 1fr; gap: 32px; }
body.cx-orbita.woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
body.cx-orbita.woocommerce-page .cart-collaterals .cart_totals { float: none; max-width: none; }
body.cx-orbita.woocommerce-checkout .woocommerce-billing-fields { padding: 20px; }
}
@media (max-width: 560px) {body.cx-orbita.woocommerce-page ul.products { grid-template-columns: 1fr; }
body.cx-orbita.woocommerce-page div.product form.cart { flex-wrap: wrap; }
body.cx-orbita.woocommerce-page table.shop_table_responsive tr td::before { color: var(--cx-muted); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
body.cx-orbita .woocommerce-message .button,
body.cx-orbita .woocommerce-info .button { float: none; display: flex; margin: 12px 0 0; }
}
