/* =====================================================================
   WOOCOMMERCE (general: carrito, checkout, mi cuenta, avisos)
   El CSS adicional del Personalizador pinta los botones de Woo con
   `.woocommerce a.button { background: #00a69c !important }` (0,2,1):
   acá los selectores llevan un nivel más para ganarle.
   ===================================================================== */
html.emp-skin :is(.woocommerce, .woocommerce-page) :is(a.button, button.button, input.button, .checkout-button, #place_order) {
  background: var(--emp-black) !important;
  border: 1px solid var(--emp-black) !important;
  border-radius: 999px !important;
  color: var(--emp-white) !important;
  font-family: var(--emp-sans) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
html.emp-skin
  :is(.woocommerce, .woocommerce-page)
  :is(a.button, button.button, input.button, .checkout-button, #place_order):is(:hover, :focus-visible) {
  background: var(--emp-brand) !important;
  border-color: var(--emp-brand) !important;
  color: var(--emp-white) !important;
}

/* =====================================================================
   CARRITO (página "Cart", 60): resumen angosto y centrado, sin tabla
   con aspecto de planilla. Las columnas que oculta el Personalizador
   (precio, cantidad, cupón) siguen ocultas.
   ===================================================================== */
html.emp-skin :is(.elementor-element-8ae6517, .elementor-element-7e04bd60) > .elementor-container {
  max-width: 720px !important;
}
html.emp-skin :is(.elementor-element-8ae6517, .elementor-element-7e04bd60) .elementor-widget-wrap {
  padding: 0 !important;
}
html.emp-skin .elementor-element-8ae6517 {
  padding: clamp(3rem, 6vw, 5rem) var(--emp-gutter) 2rem !important;
}
html.emp-skin .elementor-element-7e04bd60 {
  padding: 0 var(--emp-gutter) var(--emp-section) !important;
}
html.emp-skin .elementor-element-8d1de8c .elementor-heading-title {
  display: block;
  max-width: 16em;
  color: var(--emp-ink) !important;
  font-size: clamp(2rem, 3.6vw, 3rem) !important;
  letter-spacing: -0.035em !important;
  line-height: 1.02 !important;
  text-align: left !important;
}
html.emp-skin .woocommerce-cart .woocommerce {
  padding: 1.75rem 2rem 2rem;
  background: var(--emp-blush-soft);
  border-radius: 8px;
}
html.emp-skin .woocommerce-cart :is(table.shop_table, table.shop_table td, table.shop_table th) {
  border: 0 !important;
  background: none !important;
}
html.emp-skin .woocommerce-cart table.shop_table thead th {
  padding: 0 0 0.75rem !important;
  color: var(--emp-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
html.emp-skin .woocommerce-cart table.shop_table tbody td {
  padding-block: 1rem !important;
  border-top: 1px solid rgba(28, 27, 26, 0.12) !important;
  vertical-align: middle;
}
html.emp-skin .woocommerce-cart :is(table.shop_table, .cart_totals table) {
  width: 100% !important;
}
html.emp-skin .woocommerce-cart table.cart :is(th, td).product-thumbnail {
  display: none !important;
}
html.emp-skin .woocommerce-cart table.cart :is(th, td).product-remove {
  width: 2rem !important;
  padding-inline: 0 !important;
}
html.emp-skin .woocommerce-cart table.cart :is(th, td):is(.product-name) {
  text-align: left !important;
}
html.emp-skin .woocommerce-cart table.cart :is(th, td).product-subtotal,
html.emp-skin .woocommerce-cart .cart_totals td {
  text-align: right !important;
}
html.emp-skin .woocommerce-cart .cart_totals th {
  text-align: left !important;
  padding-left: 0 !important;
}
html.emp-skin .woocommerce-cart table.cart .product-name a {
  color: var(--emp-ink) !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em;
  text-decoration: none !important;
}
html.emp-skin .woocommerce-cart table.cart a.remove {
  color: var(--emp-muted) !important;
  background: none !important;
  font-weight: 400 !important;
}
html.emp-skin .woocommerce-cart table.cart a.remove:hover {
  color: var(--emp-brand) !important;
}
html.emp-skin .woocommerce-cart .cart-collaterals .cart_totals {
  width: 100% !important;
  float: none !important;
}
html.emp-skin .woocommerce-cart .cart_totals :is(th, td) {
  padding-block: 1rem !important;
  border-top: 1px solid rgba(28, 27, 26, 0.12) !important;
  color: var(--emp-ink) !important;
}
html.emp-skin .woocommerce-cart .cart_totals .order-total :is(th, td, td *) {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}
html.emp-skin .woocommerce-cart .wc-proceed-to-checkout {
  padding: 1rem 0 0 !important;
}
html.emp-skin .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 1.125rem 1.5rem !important;
  font-size: 1.0625rem !important;
  text-align: center;
}

/* =====================================================================
   CHECKOUT (página "Checkout2", 14529, widget de checkout de Elementor Pro)
   Formulario a la izquierda; a la derecha el resumen del pedido como una
   tarjeta rosa que acompaña el scroll, igual que la tarjeta de compra de
   la página de curso. Mismos campos, mismo botón, misma pasarela.
   ===================================================================== */
html.emp-skin .elementor-element-8a1e5f6 {
  padding: clamp(2.5rem, 5vw, 4.5rem) var(--emp-gutter) clamp(3rem, 6vw, 5rem) !important;
}
html.emp-skin .elementor-element-8a1e5f6 > .e-con-inner,
html.emp-skin .elementor-element-8a1e5f6 > .elementor-element-24bc6f9 {
  max-width: var(--emp-wrap) !important;
  margin-inline: auto !important;
  width: 100%;
}
html.emp-skin .elementor-element-24bc6f9 .e-checkout__container {
  column-gap: clamp(3rem, 6vw, 5.5rem) !important;
  align-items: start;
}

/* ---- Columna del formulario ---- */
html.emp-skin .elementor-element-24bc6f9 .e-checkout__column-start {
  padding: 0 !important;
}
html.emp-skin .elementor-element-24bc6f9 .e-woocommerce-login-section,
html.emp-skin .elementor-element-24bc6f9 #customer_details {
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
html.emp-skin .elementor-element-24bc6f9 .e-checkout-secondary-title {
  color: var(--emp-muted) !important;
  font-size: 0.9375rem !important;
}
html.emp-skin .elementor-element-24bc6f9 .e-checkout-secondary-title a {
  color: var(--emp-ink) !important;
  font-weight: 600;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
html.emp-skin .elementor-element-24bc6f9 #customer_details h3 {
  max-width: 24ch;
  margin: 1.5rem 0 2rem !important;
  color: var(--emp-ink) !important;
  font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.05 !important;
}
html.emp-skin .elementor-element-24bc6f9 #customer_details :is(.col-1, .col-2) {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
}
/* #customer_details: el Personalizador fija los campos al 85% con un selector
   de la misma especificidad y se imprime después. */
html.emp-skin .elementor-element-24bc6f9 #customer_details .woocommerce-billing-fields__field-wrapper .form-row {
  width: 100% !important;
  margin: 0 0 1.125rem !important;
  padding: 0 !important;
}
/* Selector de país (select2) con la misma píldora que los campos */
html.emp-skin .select2-container--default .select2-selection--single {
  height: 3.25rem !important;
  display: flex !important;
  align-items: center;
  padding-inline: 1.25rem !important;
  border: 1px solid var(--emp-line) !important;
  border-radius: 999px !important;
  background: var(--emp-white) !important;
}
html.emp-skin .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 !important;
  color: var(--emp-ink) !important;
  font-family: var(--emp-sans) !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
}
html.emp-skin .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  right: 1rem !important;
}
html.emp-skin .select2-dropdown {
  border-color: var(--emp-line) !important;
  border-radius: 8px !important;
  overflow: hidden;
  font-family: var(--emp-sans) !important;
}
html.emp-skin .select2-container--default .select2-results__option--highlighted[aria-selected],
html.emp-skin .select2-container--default .select2-results__option--highlighted[data-selected] {
  background: var(--emp-ink) !important;
}

/* ---- Tarjeta del pedido ---- */
html.emp-skin .elementor-element-24bc6f9 .e-checkout__column-inner {
  padding: 2rem !important;
  background: var(--emp-blush) !important;
  border: 0 !important;
  border-radius: 8px !important;
  top: 176px !important;
}
html.emp-skin .elementor-element-24bc6f9 :is(.e-checkout__order_review, .e-coupon-box, .e-checkout__order_review-2) {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
}
html.emp-skin .elementor-element-24bc6f9 #order_review_heading {
  margin: 0 0 1.5rem !important;
  color: var(--emp-ink) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}
html.emp-skin .elementor-element-24bc6f9 .woocommerce-checkout-review-order-table {
  margin: 0 0 1.25rem !important;
  border: 0 !important;
  background: none !important;
}
html.emp-skin .elementor-element-24bc6f9 .woocommerce-checkout-review-order-table :is(th, td) {
  padding: 0.875rem 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(28, 27, 26, 0.12) !important;
  background: none !important;
  color: var(--emp-ink) !important;
  font-size: 0.9375rem !important;
}
html.emp-skin .elementor-element-24bc6f9 .woocommerce-checkout-review-order-table thead th {
  padding-top: 0 !important;
  border-top: 0 !important;
  color: var(--emp-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
html.emp-skin .elementor-element-24bc6f9 .woocommerce-checkout-review-order-table .product-name {
  font-weight: 600 !important;
}
html.emp-skin .elementor-element-24bc6f9 .woocommerce-checkout-review-order-table .product-quantity {
  color: var(--emp-muted) !important;
  font-weight: 400 !important;
}
html.emp-skin .elementor-element-24bc6f9 .woocommerce-checkout-review-order-table :is(.product-total, tfoot td) {
  text-align: right !important;
}
html.emp-skin .elementor-element-24bc6f9 .woocommerce-checkout-review-order-table .order-total :is(th, td, td *) {
  border-top-color: var(--emp-ink) !important;
  font-size: 1.75rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.04em !important;
  vertical-align: baseline;
}
html.emp-skin .elementor-element-24bc6f9 .woocommerce-checkout-review-order-table .order-total th {
  font-size: 1rem !important;
  letter-spacing: 0 !important;
}
html.emp-skin .elementor-element-24bc6f9 .e-coupon-box .e-checkout-secondary-title {
  margin: 0 0 1.25rem !important;
  font-size: 0.875rem !important;
}
html.emp-skin .elementor-element-24bc6f9 #payment {
  background: none !important;
  border: 0 !important;
  padding: 0 !important; /* traía 30px a los lados: el botón no llegaba al ancho de la tarjeta */
}
html.emp-skin .elementor-element-24bc6f9 #payment .place-order {
  padding: 0 !important;
  margin: 0 !important;
}
html.emp-skin .elementor-element-24bc6f9 #place_order {
  width: 100% !important;
  min-height: 3.5rem;
  margin: 0 !important;
  padding: 1.125rem 1.5rem !important;
  font-size: 1.0625rem !important;
}

/* ---- Sellos y medios de pago: franja discreta al pie ---- */
html.emp-skin :is(.elementor-element-9716002, .elementor-element-297bc45) {
  background: var(--emp-white) !important;
  padding: 2.5rem var(--emp-gutter) var(--emp-section) !important;
  border-top: 1px solid var(--emp-line);
  max-width: var(--emp-wrap);
  margin-inline: auto !important;
}
html.emp-skin :is(.elementor-element-9716002, .elementor-element-297bc45) img {
  opacity: 0.85;
}

/* =====================================================================
   AVISOS DE WOOCOMMERCE (agregado, eliminado, errores, carrito vacío)
   ===================================================================== */
html.emp-skin .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin: 0 0 1.5rem !important;
  padding: 1rem 1.25rem !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--emp-white) !important;
  color: var(--emp-ink) !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
  list-style: none;
}
html.emp-skin .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
  display: none !important;
}
html.emp-skin .woocommerce .woocommerce-error {
  color: var(--emp-brand) !important;
  box-shadow: inset 3px 0 0 var(--emp-brand);
}
html.emp-skin .woocommerce :is(.woocommerce-message, .woocommerce-info) a:not(.button) {
  color: var(--emp-ink) !important;
  font-weight: 600;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
html.emp-skin .woocommerce-cart .cart-empty {
  padding: 0 !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em;
}
html.emp-skin .woocommerce-cart .return-to-shop {
  margin: 1.25rem 0 0 !important;
}

/* =====================================================================
   MI CUENTA con sesión (página 1259): el saludo como título, texto con
   medida de lectura. El menú de WooCommerce queda como está (oculto).
   ===================================================================== */
html.emp-skin .elementor-element-54491d0 {
  padding: clamp(3rem, 6vw, 5rem) var(--emp-gutter) var(--emp-section) !important;
}
html.emp-skin .elementor-element-54491d0 > .elementor-container {
  max-width: var(--emp-wrap) !important;
}
html.emp-skin .woocommerce-account .woocommerce-MyAccount-content {
  max-width: 64ch;
}
html.emp-skin .woocommerce-account .woocommerce-MyAccount-content > p {
  color: var(--emp-muted) !important;
  font-size: 1.125rem !important;
  line-height: 1.6 !important;
}
html.emp-skin .woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
  margin-bottom: 1.25rem !important;
  color: var(--emp-ink) !important;
  font-size: clamp(1.375rem, 2vw, 1.75rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em;
  line-height: 1.3 !important;
}
html.emp-skin .woocommerce-account .woocommerce-MyAccount-content a {
  color: var(--emp-ink) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
html.emp-skin .woocommerce-account .woocommerce-EditAccountForm fieldset {
  margin-top: 2rem;
  padding: 1.5rem;
  border: 1px solid var(--emp-line);
  border-radius: 8px;
}
