/* =============================================================
   VOLTIO GADGETS — Cart, Checkout & My Account
   ============================================================= */

/* ─────────────────────────────────────────────
   CARRITO
───────────────────────────────────────────── */
.woocommerce-cart .woocommerce {
  padding: var(--vg-space-10) 0;
}

/* Tabla del carrito */
.woocommerce-cart table.shop_table {
  background:    var(--vg-bg-glass) !important;
  backdrop-filter: blur(14px) !important;
  border:        1px solid var(--vg-accent-border) !important;
  border-radius: var(--vg-radius-lg) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow:      hidden !important;
}

.woocommerce-cart table.shop_table th {
  background:     var(--vg-bg-secondary) !important;
  color:          var(--vg-text-muted) !important;
  font-family:    var(--vg-font-heading) !important;
  font-weight:    600 !important;
  font-size:      var(--vg-text-xs) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding:        14px 20px !important;
  border-bottom:  1px solid var(--vg-accent-border) !important;
}

.woocommerce-cart table.shop_table td {
  padding:       16px 20px !important;
  border-bottom: 1px solid rgba(74, 85, 104, 0.1) !important;
  vertical-align: middle !important;
  color:         var(--vg-text-secondary) !important;
}

.woocommerce-cart table.shop_table tr:last-child td {
  border-bottom: none !important;
}

/* Imagen en carrito */
.woocommerce-cart table.shop_table td.product-thumbnail img {
  width:         72px !important;
  height:        72px !important;
  object-fit:    contain !important;
  border-radius: var(--vg-radius-sm) !important;
  background:    var(--vg-bg-secondary) !important;
  border:        1px solid var(--vg-accent-border) !important;
  padding:       6px !important;
}

/* Nombre del producto */
.woocommerce-cart table.shop_table td.product-name a {
  color:       var(--vg-text-primary) !important;
  font-weight: 600 !important;
  font-size:   var(--vg-text-base) !important;
}

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

/* Precio en carrito */
.woocommerce-cart table.shop_table td.product-price .woocommerce-Price-amount,
.woocommerce-cart table.shop_table td.product-subtotal .woocommerce-Price-amount {
  font-family:  var(--vg-font-display) !important;
  font-weight:  700 !important;
  color:        var(--vg-accent-bright) !important;
  font-size:    var(--vg-text-lg) !important;
}

/* Botón eliminar */
.woocommerce-cart table.shop_table .product-remove a {
  color:          var(--vg-text-muted) !important;
  font-size:      20px !important;
  width:          28px !important;
  height:         28px !important;
  display:        flex !important;
  align-items:    center !important;
  justify-content: center !important;
  border-radius:  var(--vg-radius-sm) !important;
  transition:     all var(--vg-transition-fast) !important;
  text-decoration: none !important;
}

.woocommerce-cart table.shop_table .product-remove a:hover {
  color:      var(--vg-error) !important;
  background: rgba(255, 61, 87, 0.1) !important;
}

/* Cantidad en carrito */
.woocommerce-cart table.shop_table .quantity input.qty {
  background:    var(--vg-bg-secondary) !important;
  color:         var(--vg-text-primary) !important;
  border:        1px solid var(--vg-accent-border) !important;
  border-radius: var(--vg-radius-sm) !important;
  padding:       6px 10px !important;
  font-family:   var(--vg-font-display) !important;
  font-weight:   700 !important;
  width:         64px !important;
  text-align:    center !important;
}

/* Totales del carrito */
.cart_totals {
  background:    var(--vg-bg-glass) !important;
  backdrop-filter: blur(14px) !important;
  border:        1px solid var(--vg-accent-border) !important;
  border-radius: var(--vg-radius-lg) !important;
  padding:       var(--vg-space-6) !important;
}

.cart_totals h2 {
  font-family:    var(--vg-font-heading) !important;
  font-size:      var(--vg-text-lg) !important;
  font-weight:    700 !important;
  color:          var(--vg-text-primary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom:  var(--vg-space-5) !important;
}

.cart_totals table {
  width:          100% !important;
  border-collapse: separate !important;
  border-spacing:  0 !important;
}

.cart_totals table th {
  color:       var(--vg-text-muted) !important;
  font-weight: 500 !important;
  font-size:   var(--vg-text-sm) !important;
  padding:     10px 0 !important;
  text-align:  left !important;
}

.cart_totals table td {
  color:      var(--vg-text-secondary) !important;
  padding:    10px 0 !important;
  text-align: right !important;
}

.cart_totals table tr.order-total th,
.cart_totals table tr.order-total td {
  border-top: 1px solid var(--vg-accent-border) !important;
  padding-top: var(--vg-space-4) !important;
}

.cart_totals table tr.order-total td .woocommerce-Price-amount {
  font-family:  var(--vg-font-display) !important;
  font-size:    var(--vg-text-2xl) !important;
  font-weight:  800 !important;
  color:        var(--vg-accent-bright) !important;
  text-shadow:  0 0 18px rgba(0, 229, 255, 0.4) !important;
}

/* Botón proceder al pago */
.cart_totals .wc-proceed-to-checkout .checkout-button {
  display:         block !important;
  width:           100% !important;
  padding:         16px !important;
  background:      linear-gradient(135deg, var(--vg-accent-dark), var(--vg-accent)) !important;
  color:           #FFFFFF !important;
  font-family:     var(--vg-font-heading) !important;
  font-weight:     800 !important;
  font-size:       var(--vg-text-base) !important;
  letter-spacing:  0.1em !important;
  text-transform:  uppercase !important;
  border:          none !important;
  border-radius:   var(--vg-radius-md) !important;
  cursor:          pointer !important;
  box-shadow:      0 4px 24px rgba(0, 163, 255, 0.45) !important;
  transition:      all var(--vg-transition-smooth) !important;
  text-align:      center !important;
  text-decoration: none !important;
  margin-top:      var(--vg-space-4) !important;
}

.cart_totals .wc-proceed-to-checkout .checkout-button:hover {
  box-shadow: var(--vg-shadow-neon-lg) !important;
  transform:  translateY(-2px) !important;
}

/* ─────────────────────────────────────────────
   CHECKOUT
───────────────────────────────────────────── */
.woocommerce-checkout .woocommerce {
  padding: var(--vg-space-10) 0;
}

/* Layout 2 columnas */
#customer_details,
.woocommerce-checkout-review-order {
  background:    var(--vg-bg-glass) !important;
  backdrop-filter: blur(14px) !important;
  border:        1px solid var(--vg-accent-border) !important;
  border-radius: var(--vg-radius-lg) !important;
  padding:       var(--vg-space-8) !important;
}

/* Títulos de sección */
.woocommerce-checkout h3 {
  font-family:    var(--vg-font-heading) !important;
  font-size:      var(--vg-text-lg) !important;
  font-weight:    700 !important;
  color:          var(--vg-text-primary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom:  var(--vg-space-6) !important;
  padding-bottom: var(--vg-space-3) !important;
  border-bottom:  1px solid var(--vg-accent-border) !important;
}

/* Campos del formulario */
.woocommerce-checkout .form-row label,
.woocommerce form .form-row label {
  color:          var(--vg-text-secondary) !important;
  font-size:      var(--vg-text-sm) !important;
  font-weight:    500 !important;
  margin-bottom:  var(--vg-space-2) !important;
  display:        block !important;
}

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

.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="number"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce form .form-row input,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  background:    var(--vg-bg-secondary) !important;
  color:         var(--vg-text-primary) !important;
  border:        1px solid var(--vg-accent-border) !important;
  border-radius: var(--vg-radius-md) !important;
  padding:       12px 16px !important;
  font-family:   var(--vg-font-body) !important;
  font-size:     var(--vg-text-base) !important;
  width:         100% !important;
  transition:    all var(--vg-transition-fast) !important;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--vg-accent) !important;
  box-shadow:   0 0 0 3px var(--vg-accent-dim) !important;
  outline:      none !important;
}

/* Placeholder */
.woocommerce-checkout input::placeholder,
.woocommerce form input::placeholder {
  color: var(--vg-text-disabled) !important;
}

/* Select de estado (Venezuela) */
.woocommerce-checkout select#billing_estado_ve,
.woocommerce-checkout select {
  appearance:      none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2300A3FF' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat:   no-repeat !important;
  background-position: right 14px center !important;
  background-color: var(--vg-bg-secondary) !important;
  cursor:          pointer !important;
}

/* Radio buttons de métodos de pago */
.woocommerce-checkout #payment {
  background:    transparent !important;
  border:        none !important;
  border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  list-style:   none !important;
  padding:      0 !important;
  border:       none !important;
  background:   transparent !important;
  display:      flex !important;
  flex-direction: column !important;
  gap:          var(--vg-space-3) !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  background:    var(--vg-bg-secondary) !important;
  border:        1px solid var(--vg-accent-border) !important;
  border-radius: var(--vg-radius-md) !important;
  padding:       var(--vg-space-4) var(--vg-space-5) !important;
  transition:    all var(--vg-transition-fast) !important;
  cursor:        pointer !important;
}

.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
  border-color: var(--vg-accent) !important;
  background:   var(--vg-accent-dim) !important;
  box-shadow:   var(--vg-shadow-neon-sm) !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  color:       var(--vg-text-primary) !important;
  font-weight: 600 !important;
  cursor:      pointer !important;
  display:     flex !important;
  align-items: center !important;
  gap:         var(--vg-space-3) !important;
}

.woocommerce-checkout #payment ul.payment_methods input[type="radio"] {
  accent-color: var(--vg-accent) !important;
  width:        18px !important;
  height:       18px !important;
}

.woocommerce-checkout #payment div.payment_box {
  background:    rgba(0, 163, 255, 0.05) !important;
  border:        none !important;
  border-radius: 0 !important;
  padding:       var(--vg-space-4) 0 0 var(--vg-space-8) !important;
  color:         var(--vg-text-muted) !important;
  font-size:     var(--vg-text-sm) !important;
}

/* Botón PAGAR AHORA */
#place_order {
  display:         block !important;
  width:           100% !important;
  padding:         20px !important;
  background:      linear-gradient(135deg, var(--vg-accent-dark) 0%, var(--vg-accent) 60%, var(--vg-accent-bright) 100%) !important;
  color:           #FFFFFF !important;
  font-family:     var(--vg-font-heading) !important;
  font-weight:     800 !important;
  font-size:       var(--vg-text-lg) !important;
  letter-spacing:  0.1em !important;
  text-transform:  uppercase !important;
  border:          none !important;
  border-radius:   var(--vg-radius-lg) !important;
  cursor:          pointer !important;
  box-shadow:      0 6px 30px rgba(0, 163, 255, 0.5) !important;
  transition:      all var(--vg-transition-smooth) !important;
  margin-top:      var(--vg-space-6) !important;
  animation:       vg-pulse-glow 2.5s ease-in-out infinite !important;
}

#place_order:hover {
  box-shadow: var(--vg-shadow-neon-lg) !important;
  transform:  translateY(-3px) !important;
}

/* Lock icon antes del texto */
#place_order::before {
  content: '🔒 ';
}

/* Resumen del pedido en checkout */
#order_review table.shop_table {
  border:  none !important;
  background: transparent !important;
}

#order_review table.shop_table th {
  color:       var(--vg-text-muted) !important;
  font-size:   var(--vg-text-xs) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding:     8px 0 !important;
  border-color: var(--vg-accent-border) !important;
}

#order_review table.shop_table td {
  color:      var(--vg-text-secondary) !important;
  padding:    8px 0 !important;
  border-color: rgba(74, 85, 104, 0.15) !important;
}

#order_review table.shop_table tfoot tr:last-child td,
#order_review table.shop_table tfoot tr:last-child th {
  border-top:  1px solid var(--vg-accent-border) !important;
}

#order_review table.shop_table tfoot tr:last-child td .woocommerce-Price-amount {
  font-family:  var(--vg-font-display) !important;
  font-size:    var(--vg-text-2xl) !important;
  font-weight:  800 !important;
  color:        var(--vg-accent-bright) !important;
  text-shadow:  0 0 18px rgba(0, 229, 255, 0.4) !important;
}

/* ─────────────────────────────────────────────
   MY ACCOUNT
───────────────────────────────────────────── */
.woocommerce-account .woocommerce {
  padding: var(--vg-space-10) 0;
}

.woocommerce-MyAccount-navigation {
  background:    var(--vg-bg-glass) !important;
  backdrop-filter: blur(14px) !important;
  border:        1px solid var(--vg-accent-border) !important;
  border-radius: var(--vg-radius-lg) !important;
  padding:       var(--vg-space-4) !important;
  overflow:      hidden !important;
}

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

.woocommerce-MyAccount-navigation ul li a {
  display:        flex !important;
  align-items:    center !important;
  gap:            var(--vg-space-3) !important;
  padding:        12px 16px !important;
  color:          var(--vg-text-secondary) !important;
  font-size:      var(--vg-text-sm) !important;
  font-weight:    500 !important;
  border-radius:  var(--vg-radius-sm) !important;
  transition:     all var(--vg-transition-fast) !important;
  text-decoration: none !important;
}

.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  color:      var(--vg-accent-bright) !important;
  background: var(--vg-accent-dim) !important;
}

.woocommerce-MyAccount-content {
  background:    var(--vg-bg-glass) !important;
  backdrop-filter: blur(14px) !important;
  border:        1px solid var(--vg-accent-border) !important;
  border-radius: var(--vg-radius-lg) !important;
  padding:       var(--vg-space-8) !important;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family:   var(--vg-font-heading) !important;
  color:         var(--vg-text-primary) !important;
  margin-bottom: var(--vg-space-5) !important;
}

/* Notices (success, error, info) */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  border-radius: var(--vg-radius-md) !important;
  padding:       var(--vg-space-4) var(--vg-space-5) !important;
  border:        none !important;
  font-size:     var(--vg-text-sm) !important;
  margin-bottom: var(--vg-space-5) !important;
}

.woocommerce-message {
  background:  rgba(0, 200, 83, 0.10) !important;
  border-left: 3px solid var(--vg-success) !important;
  color:       rgba(0, 200, 83, 0.9) !important;
}

.woocommerce-error {
  background:  rgba(255, 61, 87, 0.10) !important;
  border-left: 3px solid var(--vg-error) !important;
  color:       rgba(255, 61, 87, 0.9) !important;
}

.woocommerce-info {
  background:  rgba(0, 163, 255, 0.10) !important;
  border-left: 3px solid var(--vg-accent) !important;
  color:       var(--vg-accent-bright) !important;
}
