/* Calendario Anandaroma: un colore per attività */
#google-calendar-wrap.cal-attivo{background:#fff;padding:0 !important;border:1px solid #e3e7f0;border-radius:16px;box-shadow:0 10px 34px rgba(30,60,120,.10);max-width:1100px;}
#calendario-attivita{padding:26px 22px 22px;font-family:var(--font-main,'Simon Font','Fraunces Local',Georgia,serif);color:#222a3a;}
#calendario-attivita .cal-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:18px;position:relative;}
#calendario-attivita .cal-title{margin:0;min-width:220px;text-align:center;font-size:1.45rem;font-weight:400 !important;letter-spacing:.04em;color:#2b3a99;text-transform:none;}
#calendario-attivita .cal-nav{width:40px;height:40px;border-radius:50%;border:1px solid #cfd8ee;background:#f4f7fd;color:#3376c4;font-size:26px;line-height:1;cursor:pointer;transition:background .2s,transform .2s;}
#calendario-attivita .cal-nav:hover:not(:disabled){background:#e6eefb;transform:scale(1.05);}
#calendario-attivita .cal-nav:disabled{opacity:.35;cursor:default;}
#calendario-attivita .cal-today{position:absolute;right:0;border:1px solid #eac453;background:#fbf3d6;color:#7a5a07;border-radius:20px;padding:6px 16px;font-size:.85rem;cursor:pointer;font-family:inherit;}
#calendario-attivita .cal-today:hover{background:#f6e7ad;}
#calendario-attivita .cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e5e9f3;border-left:1px solid #e5e9f3;}
#calendario-attivita .cal-dow{padding:8px 4px;text-align:center;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7690;background:#f6f8fc;border-right:1px solid #e5e9f3;border-bottom:1px solid #e5e9f3;}
#calendario-attivita .cal-cell{min-height:104px;padding:5px 5px 6px;border-right:1px solid #e5e9f3;border-bottom:1px solid #e5e9f3;background:#fff;display:flex;flex-direction:column;gap:3px;min-width:0;}
#calendario-attivita .cal-cell.cal-out{background:#fafbfd;}
#calendario-attivita .cal-cell.cal-out .cal-num{opacity:.4;}
#calendario-attivita .cal-cell.cal-has{cursor:pointer;}
#calendario-attivita .cal-cell.cal-has:hover{background:#f7faff;}
#calendario-attivita .cal-num{font-size:.9rem;color:#3a4561;padding:0 2px 2px;}
#calendario-attivita .cal-today-cell .cal-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#3376c4;color:#fff;align-self:flex-start;}
#calendario-attivita .cal-ev{display:flex;align-items:baseline;gap:5px;width:100%;border:0;border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 14%,#fff);color:#1f2740;border-radius:5px;padding:3px 6px;font-size:.76rem;line-height:1.25;text-align:left;cursor:pointer;font-family:inherit;min-width:0;transition:background .2s,transform .2s;}
#calendario-attivita .cal-ev:hover{background:color-mix(in srgb,var(--c) 26%,#fff);transform:translateY(-1px);}
#calendario-attivita .cal-ev-t{font-weight:600 !important;color:var(--c);flex:none;font-size:.72rem;}
#calendario-attivita .cal-ev-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
#calendario-attivita .cal-more{border:0;background:transparent;color:#3376c4;font-size:.74rem;text-align:left;cursor:pointer;padding:1px 4px;font-family:inherit;}
#calendario-attivita .cal-agenda{display:none;}
#calendario-attivita .cal-empty{text-align:center;color:#6b7690;margin:18px 0 6px;}
@supports not (background:color-mix(in srgb,red 10%,#fff)){#calendario-attivita .cal-ev{background:#f1f4fb;}}

/* smartphone: elenco per giorno al posto della griglia */
@media (max-width:767px){
  #calendario-attivita{padding:20px 12px 14px;}
  #calendario-attivita .cal-grid{display:none;}
  #calendario-attivita .cal-agenda{display:block;}
  #calendario-attivita .cal-title{font-size:1.2rem;min-width:0;flex:1;}
  #calendario-attivita .cal-today{position:static;padding:5px 11px;}
  #calendario-attivita .cal-ag-day{display:flex;gap:12px;padding:10px 4px;border-top:1px solid #e9edf5;}
  #calendario-attivita .cal-ag-lab{width:44px;flex:none;text-align:center;color:#3a4561;}
  #calendario-attivita .cal-ag-lab strong{display:block;font-size:1.35rem;font-weight:400 !important;line-height:1.1;}
  #calendario-attivita .cal-ag-lab span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7690;}
  #calendario-attivita .cal-ag-day.cal-today-cell .cal-ag-lab strong{color:#3376c4;}
  #calendario-attivita .cal-ag-list{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;}
  #calendario-attivita .cal-ag-list .cal-ev{font-size:.9rem;padding:8px 10px;}
  #calendario-attivita .cal-ag-list .cal-ev-t{font-size:.84rem;}
  #calendario-attivita .cal-ag-list .cal-ev-n{white-space:normal;}
}

/* finestre di dettaglio */
.cal-pop{position:fixed;inset:0;z-index:99990;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(14,28,64,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s ease;font-family:var(--font-main,'Simon Font','Fraunces Local',Georgia,serif);}
.cal-pop.open{display:flex;}
.cal-pop.vis{opacity:1;}
.cal-pop-box{position:relative;width:100%;max-width:480px;max-height:86vh;overflow-y:auto;background:#fffdf8;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.35);transform:translateY(10px);transition:transform .3s ease;}
.cal-pop.vis .cal-pop-box{transform:none;}
.cal-pop-x{position:absolute;top:8px;right:10px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#2b3a99;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 1px 6px rgba(0,0,0,.2);}
.cal-pop-body{padding:0 0 22px;color:#222a3a;}
.cal-pop-bar{height:8px;background:var(--c);border-radius:14px 14px 0 0;margin-bottom:18px;}
.cal-pop-t{margin:0 52px 6px 22px;font-size:1.3rem;line-height:1.3;color:#2b3a99;font-weight:600 !important;}
.cal-pop-when,.cal-pop-loc{margin:0 22px 8px;font-size:.95rem;color:#4a5570;}
.cal-pop-loc a{color:#3376c4;}
.cal-pop-desc{margin:12px 22px 0;font-size:.95rem;line-height:1.55;white-space:pre-line;color:#2a3350;}
.cal-pop-desc a{color:#3376c4;word-break:break-all;}
.cal-pop-list{margin:10px 18px 0;display:flex;flex-direction:column;gap:7px;}
.cal-pop-row{display:flex;gap:12px;align-items:baseline;width:100%;border:0;border-left:4px solid var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);border-radius:6px;padding:9px 12px;text-align:left;cursor:pointer;font-family:inherit;font-size:.95rem;color:#1f2740;}
.cal-pop-row:hover{background:color-mix(in srgb,var(--c) 22%,#fff);}
.cal-pop-time{flex:none;min-width:70px;color:var(--c);font-weight:600 !important;font-size:.85rem;}
@media (prefers-reduced-motion:reduce){.cal-pop,.cal-pop-box{transition:none;}}
