/* =====================================================================
 * USER.CSS - FUSIÓN
 * Estructura y medidas del diseño original + Colores del Tema Oscuro
 * ===================================================================== */

/* ---------- PARTE 1: ESTRUCTURA ORIGINAL ---------- */
/* Reduce la separación entre columnas del grid principal */
body.wrapper-fluid .site-grid, 
.site-grid {
    grid-gap: 0 1em !important;
    gap: 0 1em !important; 
}
.container-header { 
    position: relative; 
    z-index: 10; 
    margin-bottom: 20px; 
    background-color: #434178; 
    background-image: linear-gradient(135deg, #578e8e 0%, 814382, 100%); 
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.03) inset;
}

.com-weblinks-category .list-group-item {
    border: 1px solid #ddd; 
    padding: 15px; 
    margin-bottom: 20px; 
    border-radius: 5px; 
    transition: background-color 0.3s ease; 
    position: relative; 
}

.com-weblinks-category .list-title a.category {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.1em;
    color: #001B4C; 
    text-decoration: none;
    position: static; 
}

.com-weblinks-category .list-group-item:hover {
    background-color: #f0f0f0; 
    cursor: pointer; 
}

.list-title .icon-globe {
    display: none;
}

.com-weblinks-category .list-group {
    margin-top: 0 !important;
    display: flex;
    flex-direction: column-reverse;
}

.com-weblinks-category .list-group .list-group {
    margin-top: 0 !important;
}

.ic-list-event .ic-actionbar-readmore {
    display: none !important;
}

.event .ic-calendar-date {
    background-color: #ba6af9 !important;
}

.today .ic-calendar-date {
    outline: .2rem dotted Crimson !important;
}

.ic-text-black {
    color: #ffffff;
}

.ic-btn-info {
    background-image: linear-gradient(to bottom, #7918e3, #a082d1);
} 

[class^="iCicon-"], [class*=" iCicon-"], .iCicon {
    font-family: 'iCicons' !important;
}

/* ---------- PARTE 2: COLORES DEL TEMA OSCURO ---------- */
/* Se conservan solo fondos, colores, sombras y bordes. 
   Se han eliminado las propiedades de flex, grid, márgenes, 
   paddings y tamaños de fuente para mantener la estructura original. */

:root {
    --ic-bg: #0a0a0a;
    --ic-card-bg: #111417;
    --ic-card-bg-hover: #191c20;
    --ic-input-bg: #1b1d21;
    --ic-border: #2a2a2a;
    --ic-text: #ffffff;
    --ic-text-secondary: #d7d7d7;
    --ic-accent: #ba6af9;
    --ic-divider: #ba6af9;
    --ic-radius: 10px;
}

html, body {
    background-color: var(--ic-bg);
}

#icagenda {
    color: var(--ic-text-secondary);
}

#icagenda .page-header h1 {
    color: var(--ic-text);
    border-bottom: 2px solid var(--ic-divider);
}

#icagenda .ic-filters {
    background-color: var(--ic-card-bg);
    border: 1px solid var(--ic-border);
    border-radius: var(--ic-radius);
}

#icagenda .form-control,
#icagenda .form-select {
    background-color: var(--ic-input-bg) !important;
    border: 1px solid #333 !important;
    color: var(--ic-text) !important;
}

#icagenda .form-control::placeholder {
    color: #999;
}

#icagenda .form-control:focus,
#icagenda .form-select:focus {
    background-color: var(--ic-input-bg) !important;
    border-color: var(--ic-accent) !important;
    color: var(--ic-text) !important;
    box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.25);
}

#icagenda .form-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M8 11 3 6h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px;
}

#icagenda .form-select option {
    background-color: var(--ic-input-bg);
    color: var(--ic-text);
}

#icagenda .ic-filter-submit-btn,
#icagenda .ic-filter-reset-btn {
    background-image: none !important;
    background-color: var(--ic-accent);
    border: none;
    color: #fff;
    border-radius: 6px;
}

#icagenda .ic-filter-reset-btn {
    background-color: #333;
}

.js-calendar,
.js-calendar .calendar-header,
.js-calendar table {
    background-color: var(--ic-card-bg) !important;
    color: var(--ic-text) !important;
}

.js-calendar .title-year span,
.js-calendar .title-month span {
    color: #ffffff !important;
}

.js-calendar .nav a {
    color: #ffffff !important;
}

.js-calendar .day-name {
    color: #bbbbbb !important;
}

.js-calendar td.day {
    background-color: #4a1f8f !important;
    color: #ffffff !important;
    border-radius: 8px;
    text-shadow: none !important;
    -webkit-text-fill-color: #ffffff;
}

.js-calendar td.day:hover {
    background-color: #5e2bb3 !important;
}

.js-calendar td.day.othermonth,
.js-calendar td.day.disabled {
    background-color: transparent !important;
    color: #666666 !important;
    -webkit-text-fill-color: #666666;
}

.js-calendar td.day.selected,
.js-calendar td.day.today {
    background-color: var(--ic-accent) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    outline: 2px dotted #fff;
}

.js-calendar .buttons-wrapper .btn {
    background-color: var(--ic-input-bg);
    color: var(--ic-text);
    border: 1px solid #333;
}

#icagenda .ic-pagination .ic-btn {
    background-color: var(--ic-card-bg);
    color: var(--ic-text-secondary);
    border: 1px solid var(--ic-border);
}

#icagenda .ic-pagination .ic-btn.ic-active,
#icagenda .ic-pagination .ic-btn:hover {
    background-image: none;
    background-color: var(--ic-accent);
    color: #fff;
    border-color: var(--ic-accent);
}

#icagenda .ic-next a {
    color: var(--ic-text);
}

#icagenda .ic-fecha {
    color: var(--ic-text) !important;
}

#icagenda .ic-fecha strong {
    border-bottom: 2px solid var(--ic-divider);
}

#icagenda .ic-list-event {
    background-color: var(--ic-card-bg) !important;
    border: none !important;
    border-bottom: 3px solid var(--ic-divider) !important;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

#icagenda .ic-list-event:hover {
    background-color: var(--ic-card-bg-hover) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.45) !important;
}

#icagenda .ic-box-date .ic-time {
}

#icagenda .ic-title-header h1,
#icagenda .ic-title-header h2 {
    color: var(--ic-text) !important;
}

#icagenda .ic-title-header a {
    color: var(--ic-text);
}

#icagenda .ic-next-date {
    color: var(--ic-text) !important;
}

#icagenda .ic-next-date::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f017";
    color: var(--ic-accent);
    margin-right: 6px;
}

#icagenda .ic-place {
    background-color: transparent !important;
    color: var(--ic-text-secondary) !important;
}

#icagenda .ic-place::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f3c5";
    color: var(--ic-accent);
    margin-right: 6px;
}

#icagenda .ic-descshort {
    color: var(--ic-text-secondary) !important;
    border-radius: 4px;
}

#icagenda .ic-actionbar-readmore .btn {
    background-color: var(--ic-accent);
    border: none;
    color: #fff;
}

#icagenda .ic-manager-toolbar .alert-info {
    background-color: var(--ic-input-bg);
    border: 1px solid var(--ic-border);
    color: var(--ic-text-secondary);
}
/* ---------- PARTE 3: INTEGRACIÓN ICAGENDA CALENDAR.CSS (FONDO OSCURO) ---------- */
.ic-calendar-nav-prev,
.ic-calendar-nav-next,
.ic-calendar-nav-month select,
.ic-calendar-nav-year input[type=number],
.ic-calendar-top-day,
.ic-calendar-date,
.inactive .ic-calendar-date,
.ic-calendar-week-number {
    color: var(--ic-text) !important;
}

.ic-calendar-top, 
.ic-calendar-row {
    border-color: var(--ic-border-color);
}

.ic-calendar-top-day {
    opacity: 0.8;
}

/* Modales / Ventanas emergentes del calendario */
dialog.ic-calendar-dialog {
    background-color: var(--ic-bg);
    color: var(--ic-text);
    border: 1px solid var(--ic-border);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.6);
}

.ic-dialog-heading {
    border-bottom: 1px solid var(--ic-border-color);
    background-color: var(--ic-card-bg);
}

.ic-dialog-list-item:hover {
    background-color: var(--ic-card-bg-hover);
}

.ic-dialog-registration {
    border-top: 1px solid var(--ic-border-color);
}

/* Estados de los días en iCagenda */
.inactive[class*="ic-event-"] .ic-calendar-date {
    color: var(--ic-inactive-color) !important;
    background: var(--ic-inactive-bg);
}
.inactive[class*="ic-event-"] .ic-calendar-date:hover {
    color: var(--ic-text) !important;
    background-color: var(--ic-inactive-bg-hover) !important;
}

.today:not(.event) .ic-calendar-date {
    color: var(--ic-text);
    background-color: var(--ic-card-bg-hover);
    outline: 2px dotted var(--ic-important-color);
}

.event .ic-calendar-date {
    color: #ffffff !important;
    background-color: var(--ic-accent);
}
.event .ic-calendar-date:hover {
    background-color: var(--ic-card-bg-hover) !important;
}

.ic-dialog-button {
    border: 2px solid var(--ic-border);
    color: var(--ic-text);
}
.ic-dialog-button:hover {
    border-color: var(--ic-accent);
    color: #fff;
}
.ic-dialog-info .ic-title a
 {
    color: #ffffff;
}
.btn-secondary {
    --btn-color: #fff;
    --btn-bg: #ba6af9;
}
.ic-calendar-nav-month select option {
    background-color: var(--ic-bg); /* Forzamos el fondo #112855 */
    color: var(--ic-text) !important; /* Mantenemos la letra blanca */
}
/* =====================================================================
 * VISTA DE DETALLE DE EVENTO (página individual del evento)
 * ===================================================================== */

/* Cabecera: título + categoría */
#icagenda .ic-event-header {
    background-color: #111417;
    border-bottom: 3px solid #ba6af9;
    padding: 12px 15px;
}
#icagenda .ic-event-header .ic-title-header h1 {
    color: #ffffff;
}

/* Botón "Añadir al calendario" y su desplegable */
#icagenda .btn-info {
    background-color: #ba6af9 !important;
    border-color: #ba6af9 !important;
    color: #111111 !important;
}
#icagenda .ic-dropdown-menu {
    background-color: #111417;
    border: 1px solid #333333;
}
#icagenda .ic-dropdown-item {
    color: #d7d7d7;
}
#icagenda .ic-dropdown-item:hover {
    background-color: #1b1d21;
}

/* Barra de fecha/hora (antes blanca) */
#icagenda .ic-event-date {
    background-color: #111417;
    border: 1px solid #2a2a2a;
    border-left: 4px solid #ba6af9;
    padding: 12px 15px;
    border-radius: 8px;
    margin-bottom: 8px;
}
#icagenda .ic-event-date h2 {
    color: #ffffff;
    display: inline;
}
#icagenda .ic-event-date .iCicon-calendar {
    color: #ba6af9;
}

/* Línea de lugar (antes gris claro, debajo de la fecha) */
#icagenda .ic-details p {
    background-color: #111417;
    border: 1px solid #2a2a2a;
    border-left: 4px solid #ba6af9;
    padding: 12px 15px;
    border-radius: 8px;
    color: #d7d7d7;
    margin: 0;
}
#icagenda .ic-details p .iCicon-location {
    color: #ba6af9;
}

/* Caja "Information" (antes gris con texto negro) */
#icagenda .ic-info-box-header {
    background-color: #000000;
    border-bottom: 2px solid #ba6af9;
}
#icagenda .ic-info-box-header label {
    color: #ffffff;
}
#icagenda .ic-info-box-content {
    background-color: #111417 !important;
    color: #d7d7d7 !important;
    border: 1px solid #2a2a2a;
}
#icagenda .ic-divRow {
    border-bottom: 1px solid #2a2a2a;
}
#icagenda .ic-divCell.ic-label {
    color: #ba6af9 !important;
    font-weight: 700;
}
#icagenda .ic-divCell.ic-value {
    color: #ffffff !important;
}
#icagenda .ic-divCell.ic-value a {
    color: #ba6af9;
}

/* Título "Mapa" y "Todas las fechas" */
#icagenda .ic-event-map h3,
#icagenda .ic-event-dates h3 {
    color: #ffffff;
    border-bottom: 2px solid #ba6af9;
    display: inline-block;
    padding-bottom: 4px;
}
#icagenda .datesList,
#icagenda .alldates li {
    color: #d7d7d7;
}

.card {
    --card-bg: #000 !important;
}
/* --- Fix cabecera del calendario: negro con texto blanco --- */

/* Fondo general del contenedor y tabla, por si acaso */
.calendar-container,
.calendar-container table {
  background-color: #000 !important;
}

/* Fila de navegación (flechas < > y título mes/año) */
.calendar-container table thead td.headrow,
.calendar-container table thead tr.calendar-head-row td {
  background: #000 !important;
  color: #fff !important;
}

/* Flechas de navegación */
.calendar-container .nav .js-btn,
.calendar-container a.js-btn {
  color: #fff !important;
}

/* Título del mes/año */
.calendar-container .title,
.calendar-container .title-year,
.calendar-container .title-month,
.calendar-container .title-year div,
.calendar-container .title-month div,
.calendar-container .title-month span {
  color: #fff !important;
  background: #000 !important;
}

/* Fila de nombres de día (Sem, Lun, Mar, Mié...) */
.calendar-container table thead td.name,
.calendar-container .day-name,
.calendar-container .daynames td {
  background: #000 !important;
  color: #fff !important;
  border-bottom: 1px solid #000 !important;
}

/* Columna "Semana" dentro de la cabecera */
.calendar-container table thead td.headrow.wn {
  background: #000 !important;
  color: #fff !important;
}