/* ===================================================
   Evento Calendar Grid – Frontend Stylesheet v2
   =================================================== */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@700&display=swap');


.ecal-wrapper {
    --ecal-bg:#ffffff;
    --ecal-bg-cell:#ffffff;
    --ecal-border:#e7e7e7;
    --ecal-text:#202020;
    --ecal-muted:#777;
    --ecal-header-bg:#ef7d00;
    --ecal-header-text:#ffffff;
    --ecal-today-bg:#ef7d00;
    --ecal-today-text:#ffffff;
    --ecal-radius:0;
    --ecal-shadow:0 8px 24px rgba(0,0,0,.08);
    --ecal-unica-bg:#fff0e0;
    --ecal-unica-text:#8a4b00;
    --ecal-unica-border:#ef7d00;
    --ecal-rango-bg:#ffe3c2;
    --ecal-rango-text:#7a4200;
    --ecal-rango-border:#ef7d00;
    --ecal-rango-mid:#fff7ef;
    --ecal-salt-bg:#ececec;
    --ecal-salt-text:#444;
    --ecal-salt-border:#666;

    font-family: 'DM Sans', sans-serif;
    max-width: 860px;
    margin: 2rem auto;
    background: var(--ecal-bg);
    border-radius: var(--ecal-radius);
    box-shadow: var(--ecal-shadow);
    overflow: hidden;
    border: 1px solid var(--ecal-border);
}

/* ── Cabecera ── */
.ecal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--ecal-header-bg);
    padding: 1.25rem 1.75rem;
}

.ecal-wrapper .ecal-header .ecal-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
    letter-spacing: 0.03em;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
    border: none !important;
    background: none !important;
}

.ecal-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.25);
    color: var(--ecal-header-text);
    text-decoration: none;
    font-size: 1.6rem;
    line-height: 1;
    transition: background 0.18s, border-color 0.18s, transform 0.15s;
}

.ecal-nav:hover {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.6);
    color: #fff;
    transform: scale(1.08);
    text-decoration: none;
}

/* ── Nombres de días ── */
.ecal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

.ecal-days-header {
    background: #f0f3ff;
    border-bottom: 1px solid var(--ecal-border);
}

.ecal-day-name {
    text-align: center;
    padding: 0.65rem 0;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #3b5bdb;
}

/* ── Grilla ── */
.ecal-days-grid {
    border-left: 1px solid var(--ecal-border);
    border-bottom: 1px solid var(--ecal-border);
}

/* ── Celda ── */
.ecal-cell {
    min-height: 90px;
    padding: 8px;
    background: var(--ecal-bg-cell);
    border-right: 1px solid var(--ecal-border);
    border-top: 1px solid var(--ecal-border);
    box-sizing: border-box;
    transition: background 0.15s;
}

.ecal-cell.ecal-empty {
    background: #f5f5f8;
}

.ecal-cell:hover:not(.ecal-empty) {
    background: #f0f3ff;
}

/* ── Número del día ── */
.ecal-day-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: 0.80rem;
    font-weight: 600;
    color: var(--ecal-muted);
    margin-bottom: 4px;
    transition: background 0.15s, color 0.15s;
}

/* ── Hoy ── */
.ecal-cell.ecal-today { background: #f0f3ff; }
.ecal-cell.ecal-today .ecal-day-number {
    background: var(--ecal-today-bg);
    color: var(--ecal-today-text);
    font-weight: 700;
}

/* ── Celdas de rango ── */
.ecal-cell.ecal-range-start {
    background: linear-gradient(90deg, #fff 45%, #fffbeb 100%);
    border-left: 3px solid var(--ecal-rango-border) !important;
}

.ecal-cell.ecal-range-mid {
    background: var(--ecal-rango-mid);
    border-top-color: #f59e0b !important;
    border-bottom-color: #f59e0b;
}

.ecal-cell.ecal-range-end {
    background: linear-gradient(90deg, #fffbeb 0%, #fff 55%);
    border-right: 3px solid var(--ecal-rango-border) !important;
}

/* ── Lista de eventos ── */
.ecal-events-list {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 2px;
}

/* ── Chip base ── */
.ecal-event-chip {
    display: block;
    font-size: 0.70rem;
    font-weight: 500;
    line-height: 1.3;
    padding: 3px 7px;
    border-radius: 5px;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: filter 0.15s, transform 0.12s;
    border-left: 3px solid transparent;
}

.ecal-event-chip:hover {
    filter: brightness(0.88);
    transform: translateX(2px);
    text-decoration: none;
}

/* Fecha única – azul */
.ecal-chip-unica {
    background: var(--ecal-unica-bg);
    color: var(--ecal-unica-text);
    border-left-color: var(--ecal-unica-border);
}

/* Rango – ámbar */
.ecal-chip-rango {
    background: var(--ecal-rango-bg);
    color: var(--ecal-rango-text);
    border-left-color: var(--ecal-rango-border);
}

/* Salteadas – verde */
.ecal-chip-salteadas {
    background: var(--ecal-salt-bg);
    color: var(--ecal-salt-text);
    border-left-color: var(--ecal-salt-border);
}

/* ── Leyenda ── */
.ecal-legend {
    padding: 0.65rem 1.5rem;
    font-size: 0.78rem;
    border-top: 1px solid var(--ecal-border);
    background: #fafbff;
    text-align: right;
}

.ecal-legend-count {
    font-style: italic;
    color: #aaa;
    font-size: 0.74rem;
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .ecal-wrapper { margin: 0.5rem; border-radius: 10px; }
    .ecal-title   { font-size: 1.1rem; }
    .ecal-cell    { min-height: 60px; padding: 5px 4px; }
    .ecal-day-number { font-size: 0.72rem; width: 20px; height: 20px; }
    .ecal-event-chip { font-size: 0.60rem; padding: 2px 5px; }
    .ecal-day-name   { font-size: 0.60rem; padding: 0.5rem 0; }
    .ecal-header     { padding: 1rem; }
    .ecal-legend     { gap: 8px; padding: 0.6rem 1rem; }
}

@media (max-width: 400px) {
    .ecal-events-list { display: none; }
    .ecal-cell.ecal-has-events::after {
        content: '';
        display: block;
        width: 6px;
        height: 6px;
        background: #3b5bdb;
        border-radius: 50%;
        margin: 3px auto 0;
    }
}


/* Estilo DDHH UNLP */
.ecal-wrapper{max-width:1200px;border-top:6px solid #ef7d00}
.ecal-header{background:#ef7d00}
.ecal-wrapper .ecal-header .ecal-title{
font-family:'DM Sans',sans-serif;
text-transform:uppercase;
letter-spacing:.04em;
}
.ecal-days-header{background:#f3f3f3}
.ecal-day-name{color:#ef7d00;font-weight:700}
.ecal-cell:hover:not(.ecal-empty){background:#fff7ef}
.ecal-cell.ecal-today{background:#fff2e2}
.ecal-event-chip{border-radius:3px;font-weight:600}
.ecal-legend{background:#f3f3f3}


/* ===== DDHH UNLP v6 ===== */

/* Hereda la tipografía del tema activo */
.ecal-wrapper,
.ecal-wrapper *{
    font-family: inherit !important;
}

/* Más espacio para eventos */
.ecal-cell{
    min-height:140px;
}

/* Lista con scroll si hay muchos eventos */
.ecal-events-list{
    max-height:110px;
    overflow-y:auto;
}

/* Eventos más compactos */
.ecal-event-chip{
    font-size:10px !important;
    line-height:1.15 !important;
    padding:2px 4px !important;
    margin-bottom:2px;
}

/* Paleta institucional rotativa */
.ecal-events-list .ecal-event-chip:nth-child(6n+1){
    background:#ef7d00 !important;
    color:#fff !important;
    border-left-color:#c86400 !important;
}
.ecal-events-list .ecal-event-chip:nth-child(6n+2){
    background:#f39b33 !important;
    color:#fff !important;
    border-left-color:#d47d11 !important;
}
.ecal-events-list .ecal-event-chip:nth-child(6n+3){
    background:#4b4b4b !important;
    color:#fff !important;
    border-left-color:#2f2f2f !important;
}
.ecal-events-list .ecal-event-chip:nth-child(6n+4){
    background:#777777 !important;
    color:#fff !important;
    border-left-color:#555555 !important;
}
.ecal-events-list .ecal-event-chip:nth-child(6n+5){
    background:#6d7c93 !important;
    color:#fff !important;
    border-left-color:#536074 !important;
}
.ecal-events-list .ecal-event-chip:nth-child(6n){
    background:#b39b7a !important;
    color:#fff !important;
    border-left-color:#8e785d !important;
}
