/* =========================
   TIENDA — WooCommerce dark theme overrides
========================= */

/* ---- Base ---- */
.woocommerce,
.woocommerce-page {
  color: rgba(255,255,255,.8);
}

.woocommerce-shop .site-main,
.woocommerce-page .site-main,
.single-product .site-main {
  background: var(--bg-dark);
}

/* ---- Mensajes de aviso ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--bg-surface) !important;
  border-top-color: var(--color-accent) !important;
  color: rgba(255,255,255,.8) !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--color-accent) !important;
}

/* ---- Botones ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit {
  background: var(--color-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  padding: .65rem 1.5rem !important;
  transition: opacity 200ms ease !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--color-accent) !important;
  opacity: .85 !important;
  color: #fff !important;
}

/* ---- Tienda — cabecera y controles ---- */
.woocommerce-breadcrumb {
  color: rgba(255,255,255,.35) !important;
  font-family: var(--font-body) !important;
  font-size: .8rem !important;
  margin-bottom: 1.5rem !important;
}

.woocommerce-breadcrumb a {
  color: rgba(255,255,255,.35) !important;
  text-decoration: none !important;
}

.woocommerce-breadcrumb a:hover {
  color: var(--color-accent) !important;
}

.woocommerce-products-header__title {
  font-family: var(--font-headings) !important;
  color: #fff !important;
  font-size: clamp(1.6rem, 4vw, 2.25rem) !important;
  font-weight: 800 !important;
}

.woocommerce-result-count {
  color: rgba(255,255,255,.35) !important;
  font-family: var(--font-body) !important;
  font-size: .82rem !important;
}

.woocommerce-ordering select.orderby {
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 8px !important;
  color: rgba(255,255,255,.7) !important;
  font-family: var(--font-body) !important;
  font-size: .85rem !important;
  padding: .4rem .75rem !important;
}

/* ---- Tienda — grid de productos ---- */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Anula ast-full-width que rompe el grid */
.woocommerce ul.products li.product {
  width: auto !important;
  float: none !important;
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 14px !important;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
  text-align: left !important;
}

.woocommerce ul.products li.product:hover {
  border-color: rgba(var(--color-accent-rgb), .4) !important;
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,.4);
}

/* Imagen */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  display: block;
  overflow: hidden;
  flex-shrink: 0;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
  filter: grayscale(.2);
  transition: filter 300ms ease, transform 300ms ease;
}

.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img {
  filter: grayscale(0);
  transform: scale(1.04);
}

/* Contenido */
.woocommerce ul.products li.product .astra-shop-summary-wrap {
  padding: 1.1rem 1.25rem 1.25rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  gap: .4rem !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-headings) !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

.woocommerce ul.products li.product .price {
  color: var(--color-accent) !important;
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce ul.products li.product .ast-woo-shop-product-description {
  flex: 1;
}

.woocommerce ul.products li.product .ast-woo-shop-product-description p {
  color: rgba(255,255,255,.5) !important;
  font-family: var(--font-body) !important;
  font-size: .8rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product .button.add_to_cart_button {
  margin-top: .85rem !important;
  align-self: center !important;
  text-align: center !important;
  font-size: .85rem !important;
  padding: .6rem 1.4rem !important;
}

/* ---- Producto individual ---- */
.woocommerce div.product {
  background: var(--bg-dark);
}

.woocommerce div.product .woocommerce-product-gallery__wrapper img {
  border-radius: 12px;
}

.woocommerce div.product .summary {
  color: rgba(255,255,255,.8);
}

.woocommerce div.product .product_title {
  font-family: var(--font-headings) !important;
  color: #fff !important;
  font-size: clamp(1.5rem, 4vw, 2.25rem) !important;
  font-weight: 800 !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--color-accent) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  color: rgba(255,255,255,.65);
  font-family: var(--font-body);
  line-height: 1.7;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  background: transparent !important;
  border-bottom-color: rgba(255,255,255,.1) !important;
  padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border-color: rgba(255,255,255,.1) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: rgba(255,255,255,.55) !important;
  font-family: var(--font-body) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #fff !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 0 12px 12px 12px !important;
  padding: 2rem !important;
  color: rgba(255,255,255,.75) !important;
}

/* ---- Carrito ---- */

/* Fondo, min-height y padding del contenedor */
.woocommerce-cart .site-main,
.woocommerce-cart #primary {
  background: var(--bg-dark) !important;
  min-height: calc(100vh - var(--vp-header-h) - 4rem) !important;
}

.woocommerce-cart .entry-content,
.woocommerce-cart .ast-woocommerce-container {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  padding-top: 1.5rem !important;
  padding-bottom: 2rem !important;
}

/* Layout: tabla izq + totales der */
.woocommerce-cart .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  grid-template-rows: auto auto !important;
  gap: 1.25rem 1.5rem !important;
  align-items: start !important;
}

.woocommerce-cart .woocommerce .woocommerce-notices-wrapper {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
}

.woocommerce-cart .woocommerce-cart-form {
  grid-column: 1 !important;
  grid-row: 2 !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.woocommerce-cart .cart-collaterals {
  grid-column: 2 !important;
  grid-row: 2 !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

/* Tabla */
.woocommerce-cart .woocommerce-cart-form table.cart {
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 12px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

/* Cabecera */
.woocommerce-cart .woocommerce-cart-form table.cart thead tr th {
  background: #111 !important;
  color: rgba(255,255,255,.4) !important;
  font-family: var(--font-body) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  padding: .75rem 1rem !important;
}

/* Filas */
.woocommerce-cart .woocommerce-cart-form table.cart tbody tr td {
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.8) !important;
  padding: 1rem !important;
  vertical-align: middle !important;
  background: transparent !important;
}

/* Imagen */
.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail img {
  width: 68px !important;
  height: 68px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  display: block !important;
}

/* Nombre */
.woocommerce-cart .woocommerce-cart-form table.cart td.product-name a {
  color: #fff !important;
  font-family: var(--font-headings) !important;
  font-weight: 600 !important;
  font-size: .95rem !important;
  text-decoration: none !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.product-name a:hover {
  color: var(--color-accent) !important;
}

/* Precio y subtotal */
.woocommerce-cart .woocommerce-cart-form table.cart td.product-price,
.woocommerce-cart .woocommerce-cart-form table.cart td.product-subtotal {
  color: var(--color-accent) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
}

/* Cantidad */
.woocommerce-cart .woocommerce-cart-form table.cart td.product-quantity input.qty {
  background: var(--bg-dark) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 6px !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: .9rem !important;
  text-align: center !important;
  width: 60px !important;
  padding: .4rem .5rem !important;
}

/* Botón eliminar */
.woocommerce-cart .woocommerce-cart-form table.cart td.product-remove a.remove {
  color: rgba(255,255,255,.2) !important;
  transition: color 150ms ease !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.product-remove a.remove:hover {
  color: rgba(255,70,70,.8) !important;
  background: transparent !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.product-remove a.remove svg {
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
}

/* Fila de acciones */
.woocommerce-cart .woocommerce-cart-form table.cart td.actions {
  background: rgba(0,0,0,.2) !important;
  border-bottom: none !important;
  padding: .85rem 1rem !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon {
  display: inline-flex !important;
  gap: .5rem !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 420px !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon input.input-text {
  background: var(--bg-dark) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: .88rem !important;
  padding: .6rem 1rem !important;
  flex: 1 !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon input.input-text::placeholder {
  color: rgba(255,255,255,.25) !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon button[name="apply_coupon"] {
  font-size: .78rem !important;
  padding: .6rem 1rem !important;
  white-space: nowrap !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.actions button[name="update_cart"] {
  float: right !important;
  font-size: .8rem !important;
  padding: .5rem 1rem !important;
  opacity: .4 !important;
}

.woocommerce-cart .woocommerce-cart-form table.cart td.actions button[name="update_cart"]:not([disabled]):hover {
  opacity: 1 !important;
}

/* Totales — especificidad máxima para ganar a Astra */
.woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  float: none !important;
}

.woocommerce-cart .cart-collaterals .cart_totals > h2 {
  font-family: var(--font-headings) !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 0 0 1.25rem !important;
  padding: 0 0 .75rem !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  background: transparent !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
  background: transparent !important;
  width: 100% !important;
  margin-bottom: 1.25rem !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td {
  border-color: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.6) !important;
  font-family: var(--font-body) !important;
  font-size: .88rem !important;
  padding: .6rem 0 !important;
  background: transparent !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals table .order-total td {
  color: #fff !important;
  font-weight: 700 !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  padding-top: .85rem !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount {
  color: var(--color-accent) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
}

/* Botón finalizar pedido */
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout .checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: .88rem !important;
  padding: .75rem 1rem !important;
  box-sizing: border-box !important;
}

/* Responsive carrito */
@media (max-width: 767.98px) {
  .woocommerce-cart .entry-content,
  .woocommerce-cart .ast-woocommerce-container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  .woocommerce-cart .woocommerce {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.cart thead {
    display: none !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.cart tbody tr td {
    display: block !important;
    text-align: right !important;
    padding: .6rem 1rem !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.cart tbody tr td::before {
    content: attr(data-title) !important;
    float: left !important;
    color: rgba(255,255,255,.4) !important;
    font-size: .78rem !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail,
  .woocommerce-cart .woocommerce-cart-form table.cart td.product-remove {
    text-align: center !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail img {
    margin: 0 auto !important;
  }
}

/* ---- Checkout ---- */

/* Fondo y min-height */
.woocommerce-checkout .site-main,
.woocommerce-checkout #primary {
  background: var(--bg-dark) !important;
  min-height: calc(100vh - var(--vp-header-h) - 4rem) !important;
}

.woocommerce-checkout .entry-content,
.woocommerce-checkout .ast-woocommerce-container {
  padding: 1.5rem !important;
}

/* Banners info (¿Ya eres cliente? / ¿Tienes cupón?) */
.woocommerce-checkout .woocommerce-info {
  background: var(--bg-surface) !important;
  border-top-color: var(--color-accent) !important;
  color: rgba(255,255,255,.65) !important;
  font-family: var(--font-body) !important;
  font-size: .85rem !important;
  margin-bottom: .75rem !important;
}

.woocommerce-checkout .woocommerce-info a {
  color: var(--color-accent) !important;
  text-decoration: none !important;
}

.woocommerce-checkout .woocommerce-info a:hover {
  color: #fff !important;
}

/* Grid: datos facturación (izq) + resumen pedido (der) */
form.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: 460px 1fr !important;
  column-gap: 2rem !important;
  row-gap: 1rem !important;
  align-items: start !important;
}

form.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  grid-row: 1 / 4 !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

form.woocommerce-checkout #order_review_heading {
  grid-column: 2 !important;
  grid-row: 1 !important;
  font-family: var(--font-headings) !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  padding-bottom: .65rem !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  background: transparent !important;
}

form.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  grid-row: 2 !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

/* col-2 vacío — ocultar */
.woocommerce-checkout .col2-set .col-2 {
  display: none !important;
}

.woocommerce-checkout .col2-set .col-1 {
  float: none !important;
  width: 100% !important;
}

/* Headings de sección (Facturación, Información adicional) */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  font-family: var(--font-headings) !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  padding-bottom: .65rem !important;
  margin-bottom: 1.25rem !important;
}

/* Inputs y selects del checkout */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.woocommerce-checkout form .input-text,
.woocommerce-checkout form select,
.woocommerce-checkout form textarea {
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: .88rem !important;
  padding: .6rem .9rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 150ms ease, box-shadow 150ms ease !important;
}

.woocommerce-checkout form .input-text:focus,
.woocommerce-checkout form select:focus,
.woocommerce-checkout form textarea:focus {
  border-color: rgba(var(--color-accent-rgb), .5) !important;
  box-shadow: 0 0 0 3px rgba(var(--color-accent-rgb), .1) !important;
  outline: none !important;
}

/* Labels */
.woocommerce-checkout form label {
  color: rgba(255,255,255,.55) !important;
  font-family: var(--font-body) !important;
  font-size: .8rem !important;
}

.woocommerce-checkout form label .required {
  color: var(--color-accent) !important;
}

/* Resumen de pedido */
#order_review {
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 12px !important;
  padding: 1.25rem !important;
  outline: none !important;
  box-shadow: none !important;
}

.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
  border: 1px solid rgba(255,255,255,.07) !important;
  outline: none !important;
  box-shadow: none !important;
}

#order_review table.shop_table {
  background: transparent !important;
  width: 100% !important;
  margin-bottom: 1rem !important;
}

#order_review table.shop_table th,
#order_review table.shop_table td {
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.7) !important;
  font-family: var(--font-body) !important;
  font-size: .85rem !important;
  padding: .6rem 0 !important;
  background: transparent !important;
}

#order_review table.shop_table thead th {
  color: rgba(255,255,255,.4) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}

#order_review .order-total th,
#order_review .order-total td {
  color: #fff !important;
  font-weight: 700 !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  border-bottom: none !important;
}

#order_review .order-total .amount {
  color: var(--color-accent) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}

/* Pasarela de pago Mercado Pago */
.woocommerce-checkout #payment {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 12px !important;
  padding: 1.25rem !important;
  margin-bottom: .75rem !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  color: rgba(255,255,255,.8) !important;
  font-family: var(--font-body) !important;
  font-size: .9rem !important;
}

.woocommerce-checkout #payment div.payment_box {
  background: rgba(0,0,0,.2) !important;
  border-radius: 8px !important;
  color: rgba(255,255,255,.6) !important;
  margin-top: .75rem !important;
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: rgba(0,0,0,.2) !important;
}

/* Mercado Pago — lo que podemos estilizar */
.mp-input-label {
  color: rgba(255,255,255,.55) !important;
  font-family: var(--font-body) !important;
  font-size: .8rem !important;
  margin-bottom: .3rem !important;
}

.mp-checkout-custom-card-input.mp-card-holder-name {
  background: var(--bg-dark) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: .88rem !important;
  padding: .6rem .9rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.mp-custom-checkout-select-input {
  background: var(--bg-dark) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: .88rem !important;
  padding: .6rem .9rem !important;
  width: 100% !important;
}

.mp-helper-message.info {
  color: rgba(255,255,255,.4) !important;
  font-size: .75rem !important;
}

.mp-wallet-button-title span {
  color: rgba(255,255,255,.6) !important;
  font-family: var(--font-body) !important;
  font-size: .82rem !important;
}

/* Place order — términos + botón */
.form-row.place-order {
  margin-top: .75rem !important;
}

.woocommerce-terms-and-conditions-checkbox-text {
  color: rgba(255,255,255,.55) !important;
  font-family: var(--font-body) !important;
  font-size: .82rem !important;
}

.woocommerce-terms-and-conditions-checkbox-text a {
  color: var(--color-accent) !important;
  text-decoration: none !important;
}

.woocommerce-terms-and-conditions-checkbox-text a:hover {
  color: #fff !important;
}

.woocommerce-privacy-policy-text p {
  color: rgba(255,255,255,.3) !important;
  font-size: .76rem !important;
  line-height: 1.55 !important;
}

.woocommerce-privacy-policy-text a {
  color: rgba(var(--color-accent-rgb), .6) !important;
  text-decoration: none !important;
}

#place_order {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: .9rem !important;
  padding: .85rem 1rem !important;
  margin-top: 1rem !important;
  box-sizing: border-box !important;
}

/* Responsive checkout */
@media (max-width: 767.98px) {
  .woocommerce-checkout .entry-content,
  .woocommerce-checkout .ast-woocommerce-container {
    padding: 1.25rem !important;
  }

  form.woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }

  form.woocommerce-checkout #customer_details,
  form.woocommerce-checkout #order_review_heading,
  form.woocommerce-checkout #order_review {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

/* ---- Mi cuenta ---- */

/* Fondo página + altura mínima para que el footer no flote */
.woocommerce-account .site-main,
.woocommerce-account #primary {
  background: var(--bg-dark) !important;
  min-height: calc(100vh - var(--vp-header-h) - 4rem) !important;
}

/* Título de página */
.woocommerce-account .entry-header {
  padding-bottom: 1.5rem !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  margin-bottom: 2rem !important;
}

.woocommerce-account .entry-title {
  font-family: var(--font-headings) !important;
  color: #fff !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  font-weight: 800 !important;
  margin: 0 !important;
}

/* Layout: nav + contenido en dos columnas */
.woocommerce-account .woocommerce {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1.75rem !important;
}

/* Nav lateral */
.woocommerce-account .woocommerce-MyAccount-navigation {
  flex: 0 0 190px !important;
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 12px !important;
  padding: .5rem 0 !important;
  overflow: hidden;
  position: sticky !important;
  top: calc(var(--vp-header-h) + 1rem) !important;
  align-self: flex-start !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: .7rem 1.25rem !important;
  color: rgba(255,255,255,.5) !important;
  font-family: var(--font-body) !important;
  font-size: .85rem !important;
  text-decoration: none !important;
  transition: background 150ms ease, color 150ms ease, border-color 150ms ease !important;
  border-left: 3px solid transparent !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
  border-left-color: rgba(255,255,255,.15) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: rgba(var(--color-accent-rgb), .08) !important;
  color: #fff !important;
  border-left-color: var(--color-accent) !important;
  font-weight: 600 !important;
}

/* Cerrar sesión */
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
  color: rgba(255,90,90,.5) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  color: rgba(255,90,90,.9) !important;
  background: rgba(255,90,90,.06) !important;
  border-left-color: rgba(255,90,90,.35) !important;
}

/* Contenido principal */
.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1 !important;
  min-width: 0 !important;
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 12px !important;
  padding: 1.75rem !important;
  color: rgba(255,255,255,.75) !important;
  font-family: var(--font-body) !important;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  color: rgba(255,255,255,.6) !important;
  line-height: 1.75 !important;
  font-size: .9rem !important;
  margin-bottom: .75rem !important;
}

/* Sin azules */
.woocommerce-account .woocommerce-MyAccount-content a,
.woocommerce-account .woocommerce a {
  color: var(--color-accent) !important;
  text-decoration: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content a:hover,
.woocommerce-account .woocommerce a:hover {
  color: #fff !important;
  text-decoration: underline !important;
}

.woocommerce-account .woocommerce-MyAccount-content strong {
  color: #fff !important;
  font-weight: 600 !important;
}

/* Headings */
.woocommerce-account h2,
.woocommerce-account h3 {
  font-family: var(--font-headings) !important;
  color: #fff !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  margin-bottom: 1.25rem !important;
  padding-bottom: .6rem !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}

/* Tabla de pedidos */
.woocommerce-account .woocommerce-orders-table {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 10px !important;
  overflow: hidden;
  width: 100% !important;
}

.woocommerce-account .woocommerce-orders-table thead th {
  background: rgba(255,255,255,.04) !important;
  color: rgba(255,255,255,.4) !important;
  font-family: var(--font-body) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  padding: .75rem 1rem !important;
}

.woocommerce-account .woocommerce-orders-table tbody td {
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.7) !important;
  padding: .75rem 1rem !important;
}

.woocommerce-account .woocommerce-orders-table tbody td a {
  color: var(--color-accent) !important;
  text-decoration: none !important;
}

.woocommerce-account .woocommerce-orders-table tbody td a:hover {
  color: #fff !important;
}

/* Formularios login / registro / editar cuenta */
.woocommerce-account .woocommerce-form,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.edit-account {
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 12px !important;
  padding: 2rem !important;
}

/* ---- Responsive Mi cuenta ---- */
@media (max-width: 767.98px) {
  .woocommerce-account .woocommerce {
    flex-direction: column !important;
    gap: 0 !important;
  }

  /* Nav horizontal scrollable con pills */
  .woocommerce-account .woocommerce-MyAccount-navigation {
    flex: none !important;
    width: 100% !important;
    position: static !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 0 1.25rem !important;
    overflow: visible !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .5rem !important;
    padding: 0 !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: none !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: inline-block !important;
    padding: .45rem 1rem !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 50px !important;
    font-size: .8rem !important;
    color: rgba(255,255,255,.6) !important;
    background: var(--bg-surface) !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    border-color: rgba(255,255,255,.25) !important;
    color: #fff !important;
    background: rgba(255,255,255,.06) !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: rgba(var(--color-accent-rgb), .12) !important;
    border-color: rgba(var(--color-accent-rgb), .4) !important;
    color: #fff !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
    border-color: rgba(255,90,90,.25) !important;
    color: rgba(255,90,90,.65) !important;
  }

  /* Contenido con más padding en móvil */
  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 1.25rem !important;
  }
}

/* ---- Login / Registro (Mi cuenta sin sesión) ---- */

/* Dos columnas en flex */
.woocommerce-account .woocommerce .u-columns {
  display: flex !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
  width: 100% !important;
}

.woocommerce-account .woocommerce .u-column1,
.woocommerce-account .woocommerce .u-column2 {
  flex: 1 !important;
  background: var(--bg-surface) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 14px !important;
  padding: 2rem !important;
}

/* Títulos "Acceder" y "Registrarse" */
.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
  font-family: var(--font-headings) !important;
  font-size: clamp(1.2rem, 2.5vw, 1.4rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 0 1.5rem !important;
  padding: 0 0 .85rem !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  border-left: none !important;
  letter-spacing: -.01em !important;
}

/* Etiquetas */
.woocommerce-form-login label,
.woocommerce-form-register label {
  color: rgba(255,255,255,.5) !important;
  font-family: var(--font-body) !important;
  font-size: .8rem !important;
  display: block !important;
  margin-bottom: .35rem !important;
}

/* Asterisco obligatorio */
.woocommerce-form-login .required,
.woocommerce-form-register .required {
  color: var(--color-accent) !important;
}

/* Inputs */
.woocommerce-form-login .woocommerce-Input,
.woocommerce-form-register .woocommerce-Input {
  background: var(--bg-dark) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: .9rem !important;
  padding: .65rem .9rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 150ms ease, box-shadow 150ms ease !important;
}

.woocommerce-form-login .woocommerce-Input:focus,
.woocommerce-form-register .woocommerce-Input:focus {
  border-color: rgba(var(--color-accent-rgb), .45) !important;
  box-shadow: 0 0 0 3px rgba(var(--color-accent-rgb), .1) !important;
  outline: none !important;
}

/* Checkbox "Recuérdame" */
.woocommerce-form-login__rememberme span {
  color: rgba(255,255,255,.45) !important;
  font-family: var(--font-body) !important;
  font-size: .82rem !important;
}

/* ¿Olvidaste la contraseña? */
.woocommerce-LostPassword a {
  color: rgba(255,255,255,.35) !important;
  font-family: var(--font-body) !important;
  font-size: .82rem !important;
  text-decoration: none !important;
}

.woocommerce-LostPassword a:hover {
  color: var(--color-accent) !important;
}

/* Texto "Se enviará un enlace..." en registro */
.woocommerce-form-register p:not(.woocommerce-form-row):not(.woocommerce-privacy-policy-text) {
  color: rgba(255,255,255,.4) !important;
  font-size: .82rem !important;
  line-height: 1.6 !important;
  margin-bottom: .75rem !important;
}

/* Política de privacidad */
.woocommerce-privacy-policy-text p {
  color: rgba(255,255,255,.3) !important;
  font-size: .76rem !important;
  line-height: 1.55 !important;
}

.woocommerce-privacy-policy-text a {
  color: rgba(var(--color-accent-rgb), .6) !important;
  text-decoration: none !important;
}

.woocommerce-privacy-policy-text a:hover {
  color: var(--color-accent) !important;
}

/* Botones submit */
.woocommerce-form-login__submit,
.woocommerce-form-register__submit {
  width: 100% !important;
  text-align: center !important;
  margin-top: .25rem !important;
  font-size: .82rem !important;
  padding: .55rem 1rem !important;
}

/* Responsive: columnas apiladas en móvil */
@media (max-width: 767.98px) {
  .woocommerce-account .woocommerce .u-columns {
    flex-direction: column !important;
    padding: 0 1.25rem !important;
  }

  .woocommerce-account .woocommerce .u-column1,
  .woocommerce-account .woocommerce .u-column2 {
    padding: 1.5rem !important;
  }
}

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }
}

@media (max-width: 575.98px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: .875rem !important;
  }

  /* Cards sin pegarse a los bordes */
  .ast-woocommerce-container {
    padding: 1.5rem 1.25rem !important;
  }
}
