/* Theme Oscuro para Astrociutat */
/* Bootstrap 5.3.3 Dark Theme */

:root,
[data-bs-theme="dark"] {
  /* Colores principales */
  --bs-primary: #4d90fe;
  --bs-secondary: #8a8e94;
  --bs-success: #2ea043;
  --bs-info: #3dd5f3;
  --bs-warning: #ffc107;
  --bs-danger: #ff6b6b;
  --bs-light: #e9ecef;
  --bs-dark: #212529;

  /* Fondos */
  --bs-body-bg: #212529;
  --bs-body-color: #dee2e6;
  
  /* Bordes */
  --bs-border-color: #495057;
  
  /* Cards */
  --bs-card-bg: #2b3035;
  --bs-card-border-color: #495057;
  
  /* Formularios */
  --bs-form-control-bg: #2b3035;
  --bs-form-control-border-color: #495057;
  
  /* Navbar */
  --bs-navbar-bg: #2b3035;
  --bs-navbar-color: #dee2e6;
  
  /* Botones */
  --bs-btn-primary-bg: #0d6efd;
  --bs-btn-primary-border: #0d6efd;
  --bs-btn-secondary-bg: #6c757d;
  --bs-btn-secondary-border: #6c757d;
}

/* Aplicar tema oscuro */
body,
[data-bs-theme="dark"] body {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
}

/* Formularios */
[data-bs-theme="dark"] .form-control {
  background-color: var(--bs-form-control-bg);
  border-color: var(--bs-form-control-border-color);
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .form-control:focus {
  background-color: #32383e;
  color: var(--bs-body-color);
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

[data-bs-theme="dark"] .form-select {
  background-color: var(--bs-form-control-bg);
  border-color: var(--bs-form-control-border-color);
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .form-select:focus {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* Cards */
[data-bs-theme="dark"] .card {
  background-color: var(--bs-card-bg);
  border-color: var(--bs-card-border-color);
}

/* Bordes generales */
[data-bs-theme="dark"] .border {
  border-color: var(--bs-border-color) !important;
}

/* Texto */
[data-bs-theme="dark"] .text-muted {
  color: #adb5bd !important;
}

/* Enlaces */
[data-bs-theme="dark"] a {
  color: #6ea8fe;
}

[data-bs-theme="dark"] a:hover {
  color: #9ec5fe;
}

/* Botones */
[data-bs-theme="dark"] .btn-primary {
  background-color: var(--bs-btn-primary-bg);
  border-color: var(--bs-btn-primary-border);
}

[data-bs-theme="dark"] .btn-primary:hover {
  background-color: #0b5ed7;
  border-color: #0a58ca;
}

[data-bs-theme="dark"] .btn-secondary {
  background-color: var(--bs-btn-secondary-bg);
  border-color: var(--bs-btn-secondary-border);
}

[data-bs-theme="dark"] .btn-secondary:hover {
  background-color: #5c636a;
  border-color: #565e64;
}

/* Modal */
[data-bs-theme="dark"] .modal-content {
  background-color: #2b3035;
  border-color: #495057;
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .modal-header {
  border-bottom-color: #495057;
}

[data-bs-theme="dark"] .modal-footer {
  border-top-color: #495057;
}

/* Tablas */
[data-bs-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-border-color: #495057;
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(255, 255, 255, 0.02);
}

/* Listas */
[data-bs-theme="dark"] .list-group-item {
  background-color: var(--bs-body-bg);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

/* Alertas */
[data-bs-theme="dark"] .alert {
  border-color: transparent;
}

[data-bs-theme="dark"] .alert-success {
  background-color: #0f5132;
  color: #75b798;
  border-color: #146c43;
}

[data-bs-theme="dark"] .alert-danger {
  background-color: #842029;
  color: #ea868f;
  border-color: #a22b34;
}

[data-bs-theme="dark"] .alert-warning {
  background-color: #664d03;
  color: #ffda6a;
  border-color: #7a6416;
}

[data-bs-theme="dark"] .alert-info {
  background-color: #055160;
  color: #6ed4e8;
  border-color: #087990;
}

/* Dropdown */
[data-bs-theme="dark"] .dropdown-menu {
  background-color: #2b3035;
  border-color: #495057;
}

[data-bs-theme="dark"] .dropdown-item {
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .dropdown-item:hover {
  background-color: #32383e;
  color: #fff;
}

[data-bs-theme="dark"] .dropdown-item:focus {
  background-color: #32383e;
  color: #fff;
}

/* Pagination */
[data-bs-theme="dark"] .page-link {
  background-color: #2b3035;
  border-color: #495057;
  color: #6ea8fe;
}

[data-bs-theme="dark"] .page-link:hover {
  background-color: #32383e;
  color: #9ec5fe;
}

[data-bs-theme="dark"] .page-item.active .page-link {
  background-color: #0d6efd;
  border-color: #0d6efd;
  color: #fff;
}

/* Badge */
[data-bs-theme="dark"] .badge {
  color: #fff;
}

/* Tooltip */
[data-bs-theme="dark"] .tooltip-inner {
  background-color: #e9ecef;
  color: #212529;
}

/* Popover */
[data-bs-theme="dark"] .popover {
  background-color: #2b3035;
  border-color: #495057;
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .popover-header {
  background-color: #32383e;
  border-bottom-color: #495057;
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .popover-body {
  color: var(--bs-body-color);
}

/* Offcanvas */
[data-bs-theme="dark"] .offcanvas {
  background-color: #2b3035;
  color: var(--bs-body-color);
}

/* Accordion */
[data-bs-theme="dark"] .accordion-item {
  background-color: #2b3035;
  border-color: #495057;
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .accordion-button {
  background-color: #2b3035;
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
  background-color: #253037;
  color: #6ea8fe;
}

[data-bs-theme="dark"] .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23dee2e6'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* Navbar */
[data-bs-theme="dark"] .navbar {
  background-color: var(--bs-navbar-bg);
}

[data-bs-theme="dark"] .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.1);
}

[data-bs-theme="dark"] .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Breadcrumb */
[data-bs-theme="dark"] .breadcrumb {
  background-color: #2b3035;
}

[data-bs-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
  color: #6c757d;
}

/* Transición suave para cambio de theme */
[data-bs-theme="dark"] * {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* Estilos específicos para Astrociutat en dark mode */
[data-bs-theme="dark"] .imglogo {
  filter: brightness(0.9) contrast(1.1);
}

[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6 {
  color: #f8f9fa;
}

/* Formulario específico */
[data-bs-theme="dark"] .form-text {
  color: #adb5bd;
}

[data-bs-theme="dark"] .negrita {
  color: #f8f9fa;
}

[data-bs-theme="dark"] .error {
  color: #ea868f;
}

[data-bs-theme="dark"] .exito {
  color: #75b798;
}

/* Botón de envío */
[data-bs-theme="dark"] .btn-primary {
  background-color: #0d6efd;
  border-color: #0d6efd;
  color: #fff;
}

[data-bs-theme="dark"] .btn-primary:hover {
  background-color: #0b5ed7;
  border-color: #0a58ca;
}

[data-bs-theme="dark"] .btn-primary:active {
  background-color: #0a58ca;
}

/* Modal específico */
[data-bs-theme="dark"] .modal-content {
  background-color: #2b3035;
  border-color: #495057;
}

[data-bs-theme="dark"] .modal-header {
  background-color: #2b3035;
  border-bottom-color: #495057;
}

[data-bs-theme="dark"] .modal-body {
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .modal-footer {
  background-color: #2b3035;
  border-top-color: #495057;
}

/* Footer específico */
[data-bs-theme="dark"] .row:last-child {
	background-color: #212529;
}

[data-bs-theme="dark"] .container-fluid {
	background-color: #212529;
}

[data-bs-theme="dark"] .container {
	background-color: #212529;
}

/* Asegurar que todos los contenedores tengan el mismo fondo */
[data-bs-theme="dark"] div[class*="container"] {
	background-color: #212529;
}

/* Logo en dark mode */
[data-bs-theme="dark"] .imglogo {
	filter: brightness(0.9) contrast(1.1);
}

/* Asegurar que el body y html tengan el mismo fondo */
html[data-bs-theme="dark"] {
	background-color: #212529;
}

body {
	background-color: inherit;
}