/* ============================================================
   JUGADATA — WOOCOMMERCE OSCURO
   Checkout, carrito, mi cuenta, tienda y suscripciones
   con la identidad del panel: navy #091022 + lime #C1FF72
   ============================================================ */

:root {
  --jd-lime:    #C1FF72;
  --jd-lime2:   #a4e35a;
  --jd-bg:      #091022;
  --jd-s1:      #0E1730;
  --jd-s2:      #15203F;
  --jd-s3:      #1C2A4F;
  --jd-b1:      rgba(255,255,255,.07);
  --jd-b2:      rgba(255,255,255,.12);
  --jd-tx:      #f0f2f5;
  --jd-mu:      #9aa3b8;
  --jd-faint:   #6b7390;
  --jd-r:       12px;
}

/* ---------- Lienzo general ---------- */
body.woocommerce-page,
body.woocommerce-checkout,
body.woocommerce-cart,
body.woocommerce-account,
body.post-type-archive-product,
body.single-product {
  background: var(--jd-bg) !important;
  color: var(--jd-tx);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "DM Sans", Roboto, sans-serif;
}
body.woocommerce-page .site-content,
body.woocommerce-page .ast-container,
body.woocommerce-page #content {
  background: transparent !important;
}
body.woocommerce-page .ast-container {
  max-width: 1080px !important;
  margin: 0 auto;
}

/* Tipografía base */
body.woocommerce-page h1,
body.woocommerce-page h2,
body.woocommerce-page h3,
body.woocommerce-page h4 {
  color: var(--jd-tx) !important;
  font-weight: 800;
  letter-spacing: -.01em;
}
body.woocommerce-page .entry-title { font-size: 30px; }
body.woocommerce-page p, body.woocommerce-page span, body.woocommerce-page td, body.woocommerce-page th, body.woocommerce-page label, body.woocommerce-page li {
  color: var(--jd-tx);
}
body.woocommerce-page a { color: var(--jd-lime); }
body.woocommerce-page a:hover { color: var(--jd-lime2); }

/* ---------- Header mínimo JugaData ---------- */
.jd-woo-header {
  background: rgba(9,16,34,.92);
  border-bottom: 1px solid var(--jd-b1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: sticky; top: 0; z-index: 999;
}
.jd-woo-header__in {
  max-width: 1080px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 20px;
}
.jd-woo-header__logo img { height: 44px; width: auto; display: block; }
.jd-woo-header__nav { display: flex; align-items: center; gap: 18px; }
.jd-woo-header__nav a {
  color: var(--jd-mu); font-size: 13px; font-weight: 600; text-decoration: none;
  transition: color .2s ease;
}
.jd-woo-header__nav a:hover { color: var(--jd-tx); }
.jd-woo-header__nav a.jd-cta {
  background: var(--jd-lime); color: #091022 !important;
  padding: 8px 16px; border-radius: 100px; font-weight: 700;
}
.jd-woo-header__nav a.jd-cta:hover { background: var(--jd-lime2); }

.jd-woo-footer {
  max-width: 1080px; margin: 48px auto 0; padding: 22px 20px 36px;
  border-top: 1px solid var(--jd-b1);
  display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
}
.jd-woo-footer, .jd-woo-footer span { color: var(--jd-faint); font-size: 12px; }
.jd-woo-footer a { color: var(--jd-mu); text-decoration: none; font-size: 12px; }
.jd-woo-footer a:hover { color: var(--jd-lime); }

/* ---------- Avisos / notices ---------- */
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error,
body.woocommerce-page .wc-block-components-notice-banner {
  background: var(--jd-s1) !important;
  border: 1px solid var(--jd-b2) !important;
  border-top: 2px solid var(--jd-lime) !important;
  border-radius: var(--jd-r) !important;
  color: var(--jd-tx) !important;
  padding: 16px 20px !important;
}
body.woocommerce-page .woocommerce-error { border-top-color: #ff4d6d !important; }
body.woocommerce-page .woocommerce-message::before,
body.woocommerce-page .woocommerce-info::before { color: var(--jd-lime); }
body.woocommerce-page .woocommerce-error::before { color: #ff4d6d; }
body.woocommerce-page .woocommerce-message .button,
body.woocommerce-page .woocommerce-info .button,
body.woocommerce-page .woocommerce-error .button {
  background: var(--jd-lime) !important; color: #091022 !important;
  border-radius: 100px; font-weight: 700;
}

/* ---------- Formularios ---------- */
body.woocommerce-page form .form-row label {
  color: var(--jd-mu) !important;
  font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .04em;
  margin-bottom: 5px;
}
body.woocommerce-page form .form-row .required { color: var(--jd-lime); text-decoration: none; }
body.woocommerce-page input[type="text"],
body.woocommerce-page input[type="email"],
body.woocommerce-page input[type="tel"],
body.woocommerce-page input[type="password"],
body.woocommerce-page input[type="number"],
body.woocommerce-page textarea,
body.woocommerce-page select,
body.woocommerce-page .select2-container--default .select2-selection--single {
  background: var(--jd-s2) !important;
  border: 1px solid var(--jd-b2) !important;
  border-radius: 9px !important;
  color: var(--jd-tx) !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  height: auto !important;
  box-shadow: none !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body.woocommerce-page input:focus,
body.woocommerce-page textarea:focus,
body.woocommerce-page select:focus {
  border-color: rgba(193,255,114,.55) !important;
  box-shadow: 0 0 0 3px rgba(193,255,114,.12) !important;
  outline: none !important;
}
body.woocommerce-page input::placeholder, body.woocommerce-page textarea::placeholder { color: var(--jd-faint); }
body.woocommerce-page .woocommerce-invalid input { border-color: #ff4d6d !important; }

/* Select2 dropdown */
body.woocommerce-page .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--jd-tx); line-height: 1.5; }
body.woocommerce-page .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); }
.select2-dropdown {
  background: var(--jd-s2) !important; border: 1px solid var(--jd-b2) !important;
  border-radius: 10px !important; color: var(--jd-tx) !important; overflow: hidden;
}
.select2-container--default .select2-results__option { color: var(--jd-tx); font-size: 13px; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: rgba(193,255,114,.15) !important; color: var(--jd-lime) !important; }
.select2-search--dropdown .select2-search__field {
  background: var(--jd-s3) !important; border: 1px solid var(--jd-b2) !important;
  color: var(--jd-tx) !important; border-radius: 7px !important;
}

/* ---------- Checkout: layout 2 columnas ---------- */
body.woocommerce-checkout #customer_details {
  background: var(--jd-s1);
  border: 1px solid var(--jd-b1);
  border-radius: var(--jd-r);
  padding: 26px 24px;
}
body.woocommerce-checkout h3,
body.woocommerce-checkout #order_review_heading {
  font-size: 17px; margin-bottom: 16px;
}
body.woocommerce-checkout #order_review_heading { margin-top: 0; }

/* Resumen del pedido */
body.woocommerce-checkout #order_review {
  background: var(--jd-s1);
  border: 1px solid var(--jd-b1);
  border-radius: var(--jd-r);
  padding: 24px;
  position: relative;
}
body.woocommerce-checkout #order_review::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--jd-lime), rgba(193,255,114,.25) 70%, transparent);
  border-radius: var(--jd-r) var(--jd-r) 0 0;
}
body.woocommerce-page table.shop_table {
  background: transparent !important;
  border: none !important;
  border-collapse: collapse;
}
body.woocommerce-page table.shop_table th,
body.woocommerce-page table.shop_table td {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--jd-b1) !important;
  color: var(--jd-tx) !important;
  padding: 13px 6px;
  font-size: 14px;
}
body.woocommerce-page table.shop_table thead th {
  color: var(--jd-faint) !important;
  font-size: 11px; text-transform: uppercase; letter-spacing: .06em;
}
body.woocommerce-page table.shop_table tfoot th { color: var(--jd-mu) !important; }
body.woocommerce-page table.shop_table .order-total td,
body.woocommerce-page table.shop_table .order-total th {
  border-bottom: none !important;
  font-size: 17px; font-weight: 800;
}
body.woocommerce-page table.shop_table .order-total .amount { color: var(--jd-lime) !important; }
body.woocommerce-page .recurring-totals th,
body.woocommerce-page .recurring-total td { color: var(--jd-mu) !important; }

/* ---------- Caja de pago ---------- */
body.woocommerce-checkout #payment {
  background: var(--jd-s2) !important;
  border: 1px solid var(--jd-b2) !important;
  border-radius: var(--jd-r) !important;
  margin-top: 18px;
}
body.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--jd-b1) !important;
  padding: 16px;
}
body.woocommerce-checkout #payment ul.payment_methods li { color: var(--jd-tx); }
body.woocommerce-checkout #payment div.payment_box {
  background: var(--jd-s3) !important;
  color: var(--jd-mu) !important;
  border-radius: 10px;
}
body.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--jd-s3) !important; }
body.woocommerce-checkout #payment .place-order { padding: 16px; }

/* Campos de tarjeta de Stripe (contenedores) */
body.woocommerce-page .wc-stripe-elements-field,
body.woocommerce-page .wc-payment-form .StripeElement,
body.woocommerce-page .wc-stripe-upe-element {
  background: var(--jd-s1) !important;
  border: 1px solid var(--jd-b2) !important;
  border-radius: 9px !important;
  padding: 12px 14px !important;
}

/* ---------- Botones ---------- */
body.woocommerce-page .button,
body.woocommerce-page button[type="submit"],
body.woocommerce-page #place_order,
body.woocommerce-page input[type="submit"] {
  background: var(--jd-lime) !important;
  color: #091022 !important;
  border: none !important;
  border-radius: 100px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  padding: 13px 26px !important;
  cursor: pointer;
  transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
  box-shadow: 0 6px 24px rgba(193,255,114,.18);
}
body.woocommerce-page .button:hover,
body.woocommerce-page #place_order:hover {
  background: var(--jd-lime2) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 30px rgba(193,255,114,.25);
}
body.woocommerce-checkout #place_order { width: 100%; font-size: 15px !important; padding: 15px !important; }

/* Botón secundario (ver carrito, etc. dentro de notices ya cubierto) */
body.woocommerce-page .button.alt { background: var(--jd-lime) !important; }

/* ---------- Cupón ---------- */
body.woocommerce-page .checkout_coupon,
body.woocommerce-page form.woocommerce-form-coupon {
  background: var(--jd-s1) !important;
  border: 1px dashed var(--jd-b2) !important;
  border-radius: var(--jd-r) !important;
  padding: 18px !important;
}

/* ---------- Carrito ---------- */
body.woocommerce-cart .cart_totals {
  background: var(--jd-s1);
  border: 1px solid var(--jd-b1);
  border-radius: var(--jd-r);
  padding: 22px;
}
body.woocommerce-cart table.cart img { border-radius: 8px; }
body.woocommerce-cart .product-remove a {
  color: #ff4d6d !important; background: transparent !important;
  font-size: 18px;
}
body.woocommerce-cart .quantity .qty {
  background: var(--jd-s2) !important; border: 1px solid var(--jd-b2) !important;
  color: var(--jd-tx) !important; border-radius: 8px !important;
}

/* ---------- Mi cuenta ---------- */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--jd-s1);
  border: 1px solid var(--jd-b1);
  border-radius: var(--jd-r);
  padding: 10px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 2px 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 11px 14px; border-radius: 9px;
  color: var(--jd-mu); font-size: 13px; font-weight: 600; text-decoration: none;
  transition: background .15s ease, color .15s ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--jd-s2); color: var(--jd-tx); }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: rgba(193,255,114,.12); color: var(--jd-lime);
}
body.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--jd-s1);
  border: 1px solid var(--jd-b1);
  border-radius: var(--jd-r);
  padding: 26px;
}
body.woocommerce-account .woocommerce-MyAccount-content fieldset {
  border: 1px solid var(--jd-b1); border-radius: 10px; padding: 16px; margin: 18px 0;
}
body.woocommerce-account .woocommerce-MyAccount-content legend { color: var(--jd-mu); padding: 0 8px; }

/* Tablas de pedidos / suscripciones */
body.woocommerce-account table.shop_table tbody tr:hover td { background: rgba(255,255,255,.02) !important; }
body.woocommerce-page .woocommerce-orders-table__cell .button,
body.woocommerce-page table.my_account_subscriptions .button,
body.woocommerce-page table.subscription_details .button {
  padding: 8px 16px !important; font-size: 12px !important;
  box-shadow: none;
}
/* Botón cancelar suscripción: tono neutro para no invitar al error */
body.woocommerce-page .button.cancel {
  background: transparent !important;
  color: var(--jd-mu) !important;
  border: 1px solid var(--jd-b2) !important;
  box-shadow: none !important;
}
body.woocommerce-page .button.cancel:hover { color: #ff4d6d !important; border-color: rgba(255,77,109,.5) !important; }

/* Estados de suscripción */
body.woocommerce-page .subscription-status { font-weight: 700; }
body.woocommerce-page .subscription-status.status-active { color: var(--jd-lime); }
body.woocommerce-page .subscription-status.status-cancelled,
body.woocommerce-page .subscription-status.status-expired { color: #ff4d6d; }
body.woocommerce-page .subscription-status.status-on-hold { color: #ffb347; }

/* ---------- Tienda / producto ---------- */
body.post-type-archive-product ul.products li.product,
body.woocommerce-page ul.products li.product {
  background: var(--jd-s1);
  border: 1px solid var(--jd-b1);
  border-radius: var(--jd-r);
  padding: 18px;
}
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title { color: var(--jd-tx); }
body.woocommerce-page .price, body.woocommerce-page .amount { color: var(--jd-lime) !important; font-weight: 700; }
body.woocommerce-page del .amount { color: var(--jd-faint) !important; }

/* ---------- Breadcrumbs / título de Astra ---------- */
body.woocommerce-page .ast-breadcrumbs, body.woocommerce-page .woocommerce-breadcrumb { color: var(--jd-faint) !important; }
body.woocommerce-page .ast-breadcrumbs a, body.woocommerce-page .woocommerce-breadcrumb a { color: var(--jd-mu) !important; }

/* ---------- Privacidad / textos legales ---------- */
body.woocommerce-page .woocommerce-privacy-policy-text p,
body.woocommerce-page .woocommerce-terms-and-conditions-wrapper p {
  color: var(--jd-faint); font-size: 12px; line-height: 1.6;
}

/* Nota de recurrencia bajo el botón de pago */
.jd-recurring-note {
  margin-top: 12px; font-size: 11.5px; color: var(--jd-faint);
  text-align: center; line-height: 1.65;
}
.jd-recurring-note strong { color: var(--jd-tx); }

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  body.woocommerce-page .ast-container { padding: 0 14px; }
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review,
  body.woocommerce-account .woocommerce-MyAccount-content { padding: 18px 16px; }
  .jd-woo-header__nav { gap: 12px; }
  .jd-woo-header__nav a:not(.jd-cta):not(.jd-keep) { display: none; }
}
