/* Custom Bootstrap Theme for Gracia de Dios */
:root {
  --bs-body-bg: #050816;
  --bs-body-color: #e5e7eb;
  --bs-primary: #7c5cff;
  --bs-secondary: #22d3ee;
  --bs-dark: #020617;
  --bs-card-bg: #0b1224;
  --bs-border-color: rgba(148, 163, 184, 0.18);
}

body {
  background: radial-gradient(circle at top left, #111827 0, #020617 40%, #020617 100%);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
}

/* Navbar Overrides */
.navbar {
  backdrop-filter: blur(18px);
  background: linear-gradient(to bottom, rgba(2, 6, 23, 0.94), rgba(2, 6, 23, 0.75), transparent);
  border-bottom: 1px solid var(--bs-border-color);
}

.navbar-brand {
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #fff !important;
}

.nav-link {
  color: #9ca3af !important;
  transition: color 0.2s;
}

.nav-link:hover,
.nav-link.active {
  color: #fff !important;
}

/* Buttons */
.btn-primary {
  background: linear-gradient(120deg, #7c5cff, #22d3ee);
  border: none;
  border-radius: 50px;
  padding: 0.6rem 1.5rem;
  font-weight: 500;
  box-shadow: 0 4px 15px rgba(124, 92, 255, 0.3);
  transition: transform 0.2s, box-shadow 0.2s;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(124, 92, 255, 0.5);
  background: linear-gradient(120deg, #6b4ce6, #1cbccf);
}

.btn-outline-light {
  border-radius: 50px;
  padding: 0.6rem 1.5rem;
}

/* Cards */
.card {
  background: var(--bs-card-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s;
}

.card:hover {
  transform: translateY(-5px);
}

.card-title {
  color: #fff;
  font-weight: 600;
}

.card-text {
  color: #9ca3af;
}

/* Hero Section */
.hero-section {
  padding: 5rem 0;
}

.hero-title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.1;
  background: linear-gradient(120deg, #fff, #94a3b8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-subtitle {
  font-size: 1.2rem;
  color: #9ca3af;
  margin-bottom: 2rem;
}

.accent-text {
  background: linear-gradient(120deg, #a855f7, #38bdf8, #22c55e);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Forms */
.form-control,
.form-select {
  background-color: #0f172a;
  border: 1px solid var(--bs-border-color);
  color: #fff;
  border-radius: 10px;
  padding: 0.75rem;
}

.form-control:focus,
.form-select:focus {
  background-color: #1e293b;
  border-color: var(--bs-primary);
  color: #fff;
  box-shadow: 0 0 0 0.25rem rgba(124, 92, 255, 0.25);
}

/* Footer */
footer {
  background: #020617;
  border-top: 1px solid var(--bs-border-color);
  padding: 3rem 0;
  margin-top: auto;
}/* Cleaned Subscripcion CSS — ready to merge into global assets/css/style.css
   - Duplicates removed
   - Rules grouped and commented
   - Scope: .subscripcion-page
   Merge instructions: append this file's contents to the end of
   c:\xampp\htdocs\graciadedios\assets\css\style.css (backup first)
*/

/* Base scope and typography */
.subscripcion-page {
  font-family: Arial, Helvetica, sans-serif;
  color: #111;
  background: #f8fafc;
  padding-top: 0; /* consolidated */
}

.subscripcion-page h1 { font-size: 20px; }

/* Event / menu lists */
.subscripcion-page .event {
  margin-bottom: 18px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 8px;
}
.subscripcion-page .menus { margin-top: 8px; }

/* Tables */
.subscripcion-page table { width: 100%; border-collapse: collapse; }
.subscripcion-page table th,
.subscripcion-page table td {
  border: 1px solid #ccc;
  padding: 6px;
  text-align: left;
  font-size: 13px;
}
.subscripcion-page table th { background: #f5f5f5; }

@media print {
  .subscripcion-page button { display: none; }
}

/* Ticket styles */
.subscripcion-page.ticket-page {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}
.subscripcion-page .ticket {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  text-align: center;
  max-width: 400px;
}
.subscripcion-page .ticket h1 { font-size: 1.4rem; margin-bottom: 10px; }
.subscripcion-page .ticket p { margin: 6px 0; }
.subscripcion-page .qr img { width: 180px; height: 180px; }
.subscripcion-page .footer { margin-top: 18px; font-size: 0.85em; color: #555; }

/* Validate ticket page */
.subscripcion-page .validate-container { max-width: 500px; margin: 0 auto; }
.subscripcion-page .card { box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
.subscripcion-page .result { margin-top: 20px; }

/* Admin dashboard tweaks */
.subscripcion-page .stats-card { border-radius: 10px; box-shadow: 0 3px 6px rgba(0,0,0,0.1); }
.subscripcion-page .table-container { max-height: 500px; overflow-y: auto; }

/* Utility classes */
.max-w-420 { max-width: 420px; margin-left: auto; margin-right: auto; }

/* Small helpers */
.subscripcion-page .text-muted { color: #6c757d; }

/* Cleaned Subscripcion CSS — ready to merge into global assets/css/style.css
   - Duplicates removed
   - Rules grouped and commented
   - Scope: .subscripcion-page
   Merge instructions: append this file's contents to the end of
   c:\xampp\htdocs\graciadedios\assets\css\style.css (backup first)
*/

/* Base scope and typography */
.subscripcion-page {
  font-family: Arial, Helvetica, sans-serif;
  color: #111;
  background: #f8fafc;
  padding-top: 0; /* consolidated */
}

.subscripcion-page h1 { font-size: 20px; }

/* Event / menu lists */
.subscripcion-page .event {
  margin-bottom: 18px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 8px;
}
.subscripcion-page .menus { margin-top: 8px; }

/* Tables */
.subscripcion-page table { width: 100%; border-collapse: collapse; }
.subscripcion-page table th,
.subscripcion-page table td {
  border: 1px solid #ccc;
  padding: 6px;
  text-align: left;
  font-size: 13px;
}
.subscripcion-page table th { background: #f5f5f5; }

@media print {
  .subscripcion-page button { display: none; }
}

/* Ticket styles */
.subscripcion-page.ticket-page {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}
.subscripcion-page .ticket {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  text-align: center;
  max-width: 400px;
}
.subscripcion-page .ticket h1 { font-size: 1.4rem; margin-bottom: 10px; }
.subscripcion-page .ticket p { margin: 6px 0; }
.subscripcion-page .qr img { width: 180px; height: 180px; }
.subscripcion-page .footer { margin-top: 18px; font-size: 0.85em; color: #555; }

/* Validate ticket page */
.subscripcion-page .validate-container { max-width: 500px; margin: 0 auto; }
.subscripcion-page .card { box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
.subscripcion-page .result { margin-top: 20px; }

/* Admin dashboard tweaks */
.subscripcion-page .stats-card { border-radius: 10px; box-shadow: 0 3px 6px rgba(0,0,0,0.1); }
.subscripcion-page .table-container { max-height: 500px; overflow-y: auto; }

/* Utility classes */
.max-w-420 { max-width: 420px; margin-left: auto; margin-right: auto; }

/* Small helpers */
.subscripcion-page .text-muted { color: #6c757d; }

