/*
Theme Name: Nexus · Ghost in the Sell
Theme URI: https://ghostinthesell.com
Template: generatepress
Author: Rafa Moya
Author URI: rafamoya.net
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.5.1.1742592954
Updated: 2025-03-21 22:35:54

*/
.user-profile-form form input[type="text"],
.user-profile-form form input[type="email"],
.user-profile-form form input[type="password"],
.user-profile-form form input[type="submit"] {
  display: block;
  width: 100%;
  max-width: 400px;
  margin-bottom: 15px;
  padding: 10px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
}

/* Botón */
.user-profile-form form input[type="submit"] {
  background-color: #111;
  color: #fff;
  cursor: pointer;
  border: none;
  transition: background 0.3s ease;
  margin-bottom: 30px;
}

.user-profile-form form input[type="submit"]:hover {
  background-color: #333;
}

/* Encabezados y etiquetas dentro del formulario */
.user-profile-form form h2,
.user-profile-form form h3 {
  margin-top: 30px;
  margin-bottom: 10px;
}

.user-profile-form form label {
  display: block;
  font-size: 14px;
  margin-bottom: 5px;
  color: #333;
}

/* Historial de compras */
.user-purchase-history {
  margin-top: 40px;
  padding: 20px;
  background-color: #f9f9f9;
  border: 1px solid #eee;
  border-radius: 8px;
}

.user-purchase-history h3,
.user-purchase-history h2 {
  margin-top: 0;
  font-size: 20px;
  font-weight: 600;
}

/* Facturación */
.user-invoice-section {
  margin-top: 40px;
  padding: 20px;
  background-color: #fff6f6;
  border: 1px solid #f3caca;
  border-radius: 8px;
}

.user-invoice-section h3,
.user-invoice-section h2 {
  margin-top: 0;
  font-size: 20px;
  font-weight: 600;
  color: #d33;
}

/* Opcional: ajustes a tablas o enlaces si EDD los usa */
.user-purchase-history a,
.user-invoice-section a {
  color: #111;
  text-decoration: underline;
}

.user-purchase-history table,
.user-invoice-section table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 15px;
}

.user-purchase-history table td,
.user-invoice-section table td {
  padding: 8px;
  border-bottom: 1px solid #ddd;
}

/* 🎨 Estilo base para todas las alertas */
.alert,
.edd-alert {
  padding: 12px 16px;
  margin: 20px 0;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 500;
  max-width: 600px;
  border: 1px solid transparent;
  box-sizing: border-box;
  animation: fadeSlideIn 0.4s ease forwards;
  opacity: 0; /* se animará a 1 */
}

/* ❌ Error */
.alert-error,
.edd-alert.edd-alert-error {
  background-color: #fceeee;
  color: #b40000;
  border-color: #f2b8b8;
}
.alert-error::before,
.edd-alert.edd-alert-error::before {
  content: "❌ ";
  margin-right: 6px;
}

/* ✅ Éxito */
.alert-success {
  background-color: #e8f9ec;
  color: #1b7e36;
  border-color: #c2ebcf;
}
.alert-success::before {
  content: "✅ ";
  margin-right: 6px;
}

/* ⚠️ Advertencia */
.alert-warning {
  background-color: #fff9e5;
  color: #9f6000;
  border-color: #ffe6a1;
}
.alert-warning::before {
  content: "⚠️ ";
  margin-right: 6px;
}

/* ℹ️ Información */
.alert-info {
  background-color: #e6f4ff;
  color: #0366d6;
  border-color: #b9dcff;
}
.alert-info::before {
  content: "ℹ️ ";
  margin-right: 6px;
}

/* 🎞 Animación al aparecer */
@keyframes fadeSlideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ⏳ Animación al desaparecer */
.fade-out {
  animation: fadeOut 0.5s ease forwards;
}

@keyframes fadeOut {
  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}

/* 🎨 Contenedor principal del checkout */
.edd_checkout,
.nexus-checkout {
  background-color: #f8f8f8;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 0 0 1px #eee inset;
  max-width: 700px;
  margin: 40px auto;
  box-sizing: border-box;
}

/* 🧾 Campos del checkout */
.edd_checkout input[type="text"],
.edd_checkout input[type="email"],
.edd_checkout input[type="password"],
.edd_checkout select {
  width: 100%;
  max-width: 400px;
  padding: 10px;
  font-size: 16px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
}

/* 📩 Checkbox y etiquetas */
.edd_checkout label {
  display: block;
  font-size: 14px;
  margin-bottom: 5px;
  color: #333;
}

/* 💳 Botón de compra */
.edd-submit,
.edd-checkout button[type="submit"],
.edd_checkout input[type="submit"] {
  background-color: #111;
  color: #fff;
  font-size: 16px;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s ease;
  margin-top: 15px;
  margin-bottom: 20px;
}

.edd-submit:hover,
.edd-checkout button[type="submit"]:hover,
.edd_checkout input[type="submit"]:hover {
  background-color: #333;
}

/* 🔴 Mensajes de error en el checkout */
.edd_errors,
.edd_error,
.edd-alert-error {
  background-color: #fceeee;
  color: #b40000;
  border: 1px solid #f2b8b8;
  padding: 12px 16px;
  margin: 20px 0;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.5;
}

/* 🧾 Títulos */
.edd_checkout h2,
.edd_checkout h3 {
  margin-top: 30px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 600;
}

/* 🧾 Contenedor del carrito (si usas [edd_cart]) */
.edd-cart,
.edd_cart {
  background-color: #f8f8f8;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 0 0 1px #eee inset;
  max-width: 700px;
  margin: 40px auto;
  box-sizing: border-box;
}

/* 🛒 Tabla del carrito */
.edd_cart table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}

.edd_cart th,
.edd_cart td {
  padding: 12px;
  border-bottom: 1px solid #ddd;
  text-align: left;
  font-size: 15px;
}

/* Botón "Remove" en el carrito */
.edd_cart .edd_cart_remove_item_btn {
  background: none;
  color: #b40000;
  text-decoration: underline;
  font-size: 14px;
}

/* 🏷️ Cupones */
.edd-discount-code-field {
  margin-top: 20px;
}

.edd-discount-code-field label {
  display: block;
  font-size: 14px;
  margin-bottom: 5px;
}

.edd-discount-code-field input[type="text"] {
  padding: 10px;
  width: 100%;
  max-width: 300px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  margin-right: 10px;
  box-sizing: border-box;
}

/* Botón "Aplicar descuento" */
.edd-apply-discount,
.edd-submit {
  background-color: #111;
  color: #fff;
  padding: 10px 16px;
  font-size: 15px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 10px;
  transition: background 0.3s ease;
}

.edd-apply-discount:hover,
.edd-submit:hover {
  background-color: #333;
}

/* ✅ Confirmación de cupón aplicado */
.edd_cart_discount_row {
  background-color: #e8f9ec;
  color: #1b7e36;
  font-weight: 500;
}

/* 📦 Total general */
.edd_cart_total {
  font-size: 18px;
  font-weight: bold;
  text-align: right;
  margin-top: 20px;
}

/* 🧾 Encabezados */
.edd-cart h2,
.edd_cart h2,
.edd_checkout h2 {
  font-size: 22px;
  margin-top: 30px;
  margin-bottom: 15px;
}

/* ✅ Mensaje visual cuando el cupón está aplicado */
.edd_cart_discount_row td {
  background-color: #e8f9ec;
  color: #1b7e36;
  font-weight: 500;
  padding: 12px 16px;
  border-radius: 5px;
  position: relative;
  font-size: 15px;
}

.edd_cart_discount_row td::before {
  content: "✅ Descuento aplicado: ";
  font-weight: 600;
  margin-right: 5px;
}

.edd_cart_empty {
  background-color: #fffbe6;
  color: #9f6000;
  padding: 15px 20px;
  border: 1px solid #ffe6a1;
  border-radius: 6px;
  font-size: 15px;
  max-width: 600px;
  margin: 40px auto;
  text-align: center;
  box-shadow: 0 0 0 1px #fff inset;
}

.edd_cart_empty::before {
  content: "🛒 ";
  font-size: 18px;
  margin-right: 5px;
}

/* ❌ Error al aplicar cupón (o cualquier error del carrito/checkout) */
.edd_errors,
.edd_error,
.edd-alert-error {
  background-color: #fceeee;
  color: #b40000;
  border: 1px solid #f2b8b8;
  padding: 12px 16px;
  margin: 20px 0;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 500;
  max-width: 600px;
  box-shadow: 0 0 0 1px #fff inset;
}

/* Icono ❌ al principio del mensaje */
.edd_errors::before,
.edd-alert-error::before {
  content: "❌ ";
  font-size: 16px;
  margin-right: 6px;
}

.nexus-thankyou {
  background-color: #f8f8f8;
  padding: 30px;
  border-radius: 8px;
  max-width: 700px;
  margin: 50px auto;
  box-shadow: 0 0 0 1px #eee inset;
  font-family: inherit;
  box-sizing: border-box;
}

/* ✅ Mensaje principal */
.nexus-thankyou h2,
.nexus-thankyou h3 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 10px;
  margin-top: 0;
  color: #111;
}

.nexus-thankyou p {
  font-size: 15px;
  color: #444;
  margin-bottom: 15px;
  line-height: 1.6;
}

/* ✅ Detalles del pedido */
.nexus-thankyou table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

.nexus-thankyou table th,
.nexus-thankyou table td {
  padding: 12px;
  border-bottom: 1px solid #ddd;
  font-size: 14px;
  text-align: left;
}

.nexus-thankyou table th {
  font-weight: 600;
  color: #222;
}

/* ✅ Botones de descarga (si hay) */
.nexus-thankyou a.edd_download_file {
  display: inline-block;
  margin-top: 10px;
  background-color: #111;
  color: #fff;
  padding: 10px 16px;
  border-radius: 5px;
  text-decoration: none;
  font-size: 14px;
  transition: background 0.3s ease;
}

.nexus-thankyou a.edd_download_file:hover {
  background-color: #333;
}

.nexus-thankyou-cta {
  background-color: #fff;
  border: 1px solid #eee;
  padding: 24px 30px;
  margin-top: 40px;
  border-radius: 8px;
  text-align: center;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.nexus-thankyou-cta p {
  font-size: 16px;
  margin-bottom: 20px;
  color: #111;
  font-weight: 500;
}

/* Botón de acción */
.wp-block-button__link {
  background-color: #111 !important;
  color: #fff !important;
  padding: 10px 16px !important;
  font-size: 15px !important;
  border-radius: 5px !important; /* ← aquí forzamos el radio */
  text-decoration: none !important;
  transition: background 0.3s ease !important;
  display: inline-block !important;
  font-weight: 500 !important;
  border: none !important;
}

.wp-block-button__link:hover {
  background-color: #333 !important;
}

/* Animación tipo "empujón" al hacer clic */
@keyframes button-press {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.96);
  }
  100% {
    transform: scale(1);
  }
}

/* Botones Nexus (clase personalizada) */
.nexus-button:active,
.wp-block-button__link:active {
  animation: button-press 0.2s ease-in-out;
}

/* Consistencia visual de todos los inputs */
.user-profile-form input[type="text"],
.user-profile-form input[type="email"],
.user-profile-form input[type="password"] {
  background-color: #1e1e1e;
  color: #f0f0f0;
  border: 1px solid #444;
}

.user-profile-form label {
  color: #ccc;
}

body:not(.dark-mode) .user-profile-form input[type="text"],
body:not(.dark-mode) .user-profile-form input[type="email"],
body:not(.dark-mode) .user-profile-form input[type="password"] {
  background-color: #f2f2f2;
  color: #111;
  border: 1px solid #ccc;
}

body:not(.dark-mode) .user-profile-form label {
  color: #333;
}

input:-webkit-autofill,
input:-webkit-autofill:focus,
input:-webkit-autofill:hover,
input:-internal-autofill-selected {
  background-color: #f2f2f2 !important;
  -webkit-box-shadow: 0 0 0px 1000px #f2f2f2 inset !important;
  box-shadow: 0 0 0px 1000px #f2f2f2 inset !important;
  color: #111 !important;
}

body.dark-mode input:-webkit-autofill,
body.dark-mode input:-webkit-autofill:focus,
body.dark-mode input:-webkit-autofill:hover,
body.dark-mode input:-internal-autofill-selected {
  background-color: #1e1e1e !important;
  -webkit-box-shadow: 0 0 0px 1000px #1e1e1e inset !important;
  box-shadow: 0 0 0px 1000px #1e1e1e inset !important;
  color: #f0f0f0 !important;
}

/* === CABECERA A ANCHO COMPLETO === */
.site-header {
  max-width: 100% !important;
  width: 100%;
  padding-left: 40px;
  padding-right: 40px;
  box-sizing: border-box;
}

/* === CONTENIDO PRINCIPAL MÁS ESTRECHO === */
@media (min-width: 1024px) {
  .site-content {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }
}