/* ==========================================================================
   WP Eventi Calendario — Stile moderno ispirato a Google Calendar
   ========================================================================== */

:root {
    --wec-font:         -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --wec-primary:      #1a73e8;
    --wec-bg:           #ffffff;
    --wec-bg-header:    #f8f9fa;
    --wec-border:       #dadce0;
    --wec-text:         #202124;
    --wec-text-muted:   #70757a;
    --wec-cell-min-h:   100px;
    --wec-radius-card:  12px;
    --wec-radius-chip:  6px;
    --wec-shadow-card:  0 1px 3px rgba(60,64,67,.15), 0 2px 8px rgba(60,64,67,.1);
}

.wec-calendario-wrap *, .wec-calendario-wrap *::before, .wec-calendario-wrap *::after { box-sizing: border-box !important; }

/* ── Contenitore ── */
.wec-calendario-wrap {
    font-family:   var(--wec-font) !important;
    color:         var(--wec-text) !important;
    max-width:     1200px !important;
    margin:        0 auto 2.5rem !important;
    background:    var(--wec-bg) !important;
    border:        1px solid var(--wec-border) !important;
    border-radius: var(--wec-radius-card) !important;
    box-shadow:    var(--wec-shadow-card) !important;
    overflow:      hidden !important;
}

/* ── Header ── */
.wec-cal-header {
    display:         flex !important;
    align-items:     center !important;
    justify-content: space-between !important;
    padding:         16px 24px !important;
    background:      var(--wec-bg) !important;
    border-bottom:   1px solid var(--wec-border) !important;
    gap:             12px !important;
}
.wec-cal-title {
    flex:        1 !important;
    text-align:  center !important;
    margin:      0 !important;
    font-size:   1.2rem !important;
    font-weight: 500 !important;
    color:       var(--wec-text) !important;
    letter-spacing: -.01em !important;
}
.wec-nav-btn {
    display:         inline-flex !important;
    align-items:     center !important;
    justify-content: center !important;
    width:           36px !important;
    height:          36px !important;
    font-size:       1.4rem !important;
    line-height:     1 !important;
    color:           var(--wec-text-muted) !important;
    background:      transparent !important;
    border:          none !important;
    border-radius:   50% !important;
    text-decoration: none !important;
    float:           none !important;
    transition:      background .15s !important;
}
.wec-nav-btn:hover { background: rgba(60,64,67,.08) !important; color: var(--wec-text) !important; }

/* ── Griglia ── */
.wec-cal-grid {
    display:               grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap:                   0 !important;
    list-style:            none !important;
    margin:                0 !important;
    padding:               0 !important;
    float:                 none !important;
}
.wec-cal-intestazione {
    border-bottom: 1px solid var(--wec-border) !important;
    background:    var(--wec-bg-header) !important;
}
.wec-cal-dow {
    display:        block !important;
    padding:        10px 0 !important;
    text-align:     center !important;
    font-size:      .68rem !important;
    font-weight:    600 !important;
    color:          var(--wec-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    float:          none !important;
    width:          auto !important;
}

/* ── Celle ── */
.wec-cal-body { border-left: 1px solid var(--wec-border) !important; }
.wec-cal-cell {
    display:       block !important;
    min-height:    var(--wec-cell-min-h) !important;
    padding:       6px 4px 4px !important;
    border-right:  1px solid var(--wec-border) !important;
    border-bottom: 1px solid var(--wec-border) !important;
    overflow:      hidden !important;
    float:         none !important;
    width:         auto !important;
    background:    var(--wec-bg) !important;
    position:      relative !important;
    transition:    background .1s !important;
}
.wec-cal-cell:hover { background: #f8f9fa !important; }
.wec-cal-cell.wec-empty { background: #fafafa !important; }

/* ── Numero giorno ── */
.wec-cal-numero {
    display:      block !important;
    float:        none !important;
    width:        28px !important;
    height:       28px !important;
    line-height:  28px !important;
    text-align:   center !important;
    font-size:    .8rem !important;
    font-weight:  400 !important;
    color:        var(--wec-text-muted) !important;
    border-radius: 50% !important;
    margin:       0 auto 3px !important;
    transition:   background .1s, color .1s !important;
}
.wec-cal-cell.wec-oggi { background: #e8f0fe !important; }
.wec-cal-cell.wec-oggi .wec-cal-numero {
    background:  var(--wec-primary) !important;
    color:       #fff !important;
    font-weight: 700 !important;
}

/* ── Chip evento ── */
.wec-eventi-lista {
    list-style:     none !important;
    margin:         0 !important;
    padding:        0 !important;
    display:        flex !important;
    flex-direction: column !important;
    gap:            2px !important;
}
.wec-evento-chip {
    display:       block !important;
    border-radius: var(--wec-radius-chip) !important;
    overflow:      hidden !important;
    float:         none !important;
    width:         auto !important;
    background:    color-mix(in srgb, var(--wec-ev-color, #1a73e8) 14%, white) !important;
    border-left:   3px solid var(--wec-ev-color, #1a73e8) !important;
    transition:    filter .12s, transform .12s !important;
}
@supports not (background: color-mix(in srgb, red 14%, white)) {
    .wec-evento-chip { background: #e8f0fe !important; }
}
.wec-evento-chip:hover { filter: brightness(.94) !important; transform: translateY(-1px) !important; }
.wec-evento-chip.wec-featured { border-left-width: 4px !important; }

.wec-evento-chip a {
    display:         flex !important;
    align-items:     baseline !important;
    gap:             4px !important;
    padding:         2px 6px 3px !important;
    color:           var(--wec-ev-color, #1a73e8) !important;
    text-decoration: none !important;
    overflow:        hidden !important;
    float:           none !important;
}
.wec-chip-ora {
    flex-shrink: 0 !important;
    font-size:   .63rem !important;
    font-weight: 700 !important;
    opacity:     .8 !important;
    white-space: nowrap !important;
    display:     inline !important;
}
.wec-chip-titolo {
    font-size:     .7rem !important;
    font-weight:   500 !important;
    white-space:   nowrap !important;
    overflow:      hidden !important;
    text-overflow: ellipsis !important;
    display:       inline !important;
}

/* ── Lista sotto calendario ── */
.wec-lista-eventi { list-style: none !important; margin: 1.5rem 0 0 !important; padding: 0 !important; }
.wec-lista-item {
    display:               grid !important;
    grid-template-columns: 130px 1fr !important;
    grid-template-rows:    auto auto !important;
    gap:                   2px 16px !important;
    padding:               12px 8px !important;
    border-bottom:         1px solid var(--wec-border) !important;
    align-items:           center !important;
    float:                 none !important;
    border-radius:         6px !important;
    transition:            background .1s !important;
}
.wec-lista-item:hover { background: #f8f9fa !important; }
.wec-lista-data { grid-row: 1/3 !important; font-size: .82rem !important; font-weight: 600 !important; color: var(--wec-primary) !important; }
.wec-lista-titolo { font-size: .92rem !important; font-weight: 500 !important; color: var(--wec-text) !important; text-decoration: none !important; }
.wec-lista-titolo:hover { text-decoration: underline !important; }
.wec-lista-meta { font-size: .78rem !important; color: var(--wec-text-muted) !important; }
.wec-nessun-evento { color: var(--wec-text-muted) !important; font-style: italic !important; margin-top: 1rem !important; }

/* ── Responsive mobile ── */
@media (max-width: 600px) {
    .wec-cal-cell { min-height: 52px !important; padding: 3px 2px !important; }
    .wec-cal-numero { width: 20px !important; height: 20px !important; line-height: 20px !important; font-size: .65rem !important; }
    .wec-cal-dow { font-size: .55rem !important; padding: 6px 0 !important; letter-spacing: 0 !important; }
    .wec-evento-chip { border-left: none !important; border-radius: 50% !important; width: 7px !important; height: 7px !important; background: var(--wec-ev-color, #1a73e8) !important; margin: 2px auto !important; padding: 0 !important; }
    .wec-evento-chip a { display: none !important; }
    .wec-lista-item { grid-template-columns: 90px 1fr !important; }
}
