/* Orari Messe – Nidi dell'Immacolata: stile della pagina pubblica */
#nidi-orari{--p:#138891;--p2:#0e6c74;--g:#d6ad35;--bg:#fbfaf5;--card:#fff;--t:#23302f;--m:#5d6b6a;--b:#dce8e6;--ok:#3d7a4f;
  font-family:inherit;color:var(--t);background:var(--bg);border:1px solid var(--b);border-radius:18px;padding:22px 18px;max-width:860px;margin:0 auto;box-sizing:border-box;line-height:1.45}
#nidi-orari *{box-sizing:border-box}
#nidi-orari h2,#nidi-orari h3{font-family:inherit!important}
#nidi-orari h2{margin:0 0 4px;font-size:1.6rem;color:var(--p);line-height:1.2}
#nidi-orari .no-sub{margin:0 0 18px;color:var(--m)}
#nidi-orari fieldset{border:0;margin:0 0 18px;padding:0}
#nidi-orari legend{font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:8px;font-size:1.02rem}
#nidi-orari .no-n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--p);color:#fff;font-size:.85rem}
#nidi-orari .no-opt{font-weight:400;color:var(--m);font-size:.88rem}
#nidi-orari .no-chips{display:flex;flex-wrap:wrap;gap:8px}
#nidi-orari .no-chips input{position:absolute;opacity:0;width:1px;height:1px}
#nidi-orari .no-chips label{cursor:pointer;padding:9px 14px;border:1.5px solid var(--b);border-radius:999px;background:var(--card);font-size:.95rem;min-height:42px;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;transition:.15s;user-select:none}
#nidi-orari .no-chips label small{font-size:.72rem;color:var(--m);line-height:1}
#nidi-orari .no-chips label:hover{border-color:var(--p)}
#nidi-orari .no-chips input:checked+label{background:var(--p);border-color:var(--p);color:#fff}
#nidi-orari .no-chips input:checked+label small{color:#d9f1f2}
#nidi-orari .no-chips input:focus-visible+label{outline:3px solid var(--g);outline-offset:2px}
#nidi-orari .no-chips input:disabled+label{opacity:.4;cursor:not-allowed}
#nidi-orari .no-date{display:none;margin-top:8px;padding:9px 12px;border:1.5px solid var(--b);border-radius:10px;font:inherit}
#nidi-orari .no-date.show{display:inline-block}
#nidi-orari .no-hint{font-size:.86rem;color:var(--p);margin-top:6px;min-height:1em}
#nidi-orari .no-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#nidi-orari select{width:100%;padding:11px 12px;border:1.5px solid var(--b);border-radius:10px;background:var(--card);font:inherit;color:var(--t)}
#nidi-orari .no-actions{display:flex;gap:10px;margin-top:4px}
#nidi-orari .no-btn{font:inherit;font-weight:700;border:0;border-radius:12px;padding:14px 22px;cursor:pointer;font-size:1.05rem}
#nidi-orari .no-cerca{background:var(--p);color:#fff;flex:1}
#nidi-orari .no-cerca:hover{background:var(--p2)}
#nidi-orari .no-azzera{background:transparent;color:var(--p);border:1.5px solid var(--b)}
#nidi-orari .no-res{margin-top:22px}
#nidi-orari .no-res-h{font-weight:700;font-size:1.1rem;margin:0 0 4px}
#nidi-orari .no-res-s{color:var(--m);font-size:.88rem;margin:0 0 12px}
#nidi-orari .no-festa{background:#fdf5dc;border:1px solid var(--g);border-radius:10px;padding:8px 12px;margin-bottom:12px;font-size:.92rem}
#nidi-orari ul.no-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
#nidi-orari .no-card{display:flex;gap:14px;background:var(--card);border:1px solid var(--b);border-left:5px solid var(--p);border-radius:12px;padding:12px 14px}
#nidi-orari .no-card.c-adorazione{border-left-color:var(--g)}
#nidi-orari .no-card.c-preghiera{border-left-color:#7b6bb3}
#nidi-orari .c-preghiera .no-tag{background:#eeeaf8;color:#4f418a}
#nidi-orari .no-card.c-evento{border-left-color:var(--ok)}
#nidi-orari .no-time{font-size:1.35rem;font-weight:800;color:var(--p2);min-width:72px;line-height:1.1}
#nidi-orari .no-time small{display:block;font-size:.72rem;font-weight:600;color:var(--m);margin-top:3px}
#nidi-orari .no-body{flex:1;min-width:0}
#nidi-orari .no-church{font-weight:700;font-size:1.05rem}
#nidi-orari .no-church a{color:inherit;text-decoration:underline;text-decoration-color:var(--b)}
#nidi-orari .no-tag{display:inline-block;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:6px;background:#e2f3f3;color:#0e6c74;margin:4px 6px 0 0}
#nidi-orari .c-adorazione .no-tag{background:#fbf1d2;color:#7a5d00}
#nidi-orari .c-evento .no-tag{background:#e3f1ea;color:var(--ok)}
#nidi-orari .no-nota{font-size:.88rem;color:var(--m);margin-top:4px}
#nidi-orari details{margin-top:8px}
#nidi-orari summary{cursor:pointer;color:var(--p);font-weight:600;font-size:.9rem}
#nidi-orari details img,#nidi-orari .no-ev-img{display:block;max-width:100%;height:auto;border-radius:10px;margin-top:8px;border:1px solid var(--b)}
#nidi-orari details.no-day{margin:0 0 10px;background:var(--card);border:1px solid var(--b);border-radius:12px;padding:10px 12px}
#nidi-orari details.no-day>summary{font-size:1rem;color:var(--t);font-weight:700;padding:2px 0}
#nidi-orari details.no-day>summary span{color:var(--m);font-weight:400}
#nidi-orari details.no-day[open]>summary{margin-bottom:10px}
#nidi-orari .no-empty{background:var(--card);border:1px dashed var(--b);border-radius:12px;padding:18px;text-align:center;color:var(--m)}
#nidi-orari .no-disc{font-size:.82rem;color:var(--m);margin-top:12px}
#nidi-orari .no-disc a{color:var(--p)}
#nidi-orari .no-app{margin-top:26px;display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,#138891,#0b4f55);color:#fff;border-radius:16px;padding:18px}
#nidi-orari .no-app img{width:96px;height:auto;border-radius:12px;flex-shrink:0;background:#fff}
#nidi-orari .no-app h3{margin:0 0 4px;color:#fff;font-size:1.15rem}
#nidi-orari .no-app p{margin:0 0 10px;font-size:.92rem;color:#d9f1f2}
#nidi-orari .no-play{display:inline-block;background:var(--g);color:#2b1a00;font-weight:800;text-decoration:none;padding:10px 16px;border-radius:10px}
#nidi-orari .no-play:hover{background:#e0b832}
@media (max-width:560px){
  #nidi-orari{padding:18px 14px;border-radius:14px}
  #nidi-orari .no-selects{grid-template-columns:1fr}
  #nidi-orari .no-app{flex-direction:column;text-align:center}
  #nidi-orari .no-time{min-width:62px;font-size:1.2rem}
}
  
#nidi-orari .no-loading{color:var(--m);text-align:center;padding:20px}
#nidi-orari select.no-date{width:auto;min-width:200px}
#nidi-orari .no-selects{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
#nidi-orari details.no-loc{background:var(--card);border:1px solid var(--b);border-radius:12px;padding:10px 12px;margin:0 0 12px}
#nidi-orari details.no-loc>summary{font-weight:700;color:var(--p2);cursor:pointer}
#nidi-orari .no-loc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:10px}
#nidi-orari .no-loc-grid a{display:block;text-decoration:none;color:var(--m);font-size:.78rem;line-height:1.25}
#nidi-orari .no-loc-grid img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;border:1px solid var(--b);margin-bottom:4px;background:#f2f2f2}
#nidi-orari .no-dove a{color:var(--m)}
@media (max-width:560px){#nidi-orari .no-selects{grid-template-columns:1fr}}
