/* Agenda e contatti: stili propri della pagina (il resto viene da comune/tema.css). */

.tab{padding:7px 16px;border-radius:8px;font-size:13px;font-weight:500;background:transparent;color:#aaa;transition:all .15s;}
.tab.on{background:#f0fdf4;color:#16a34a;}
.tab:hover:not(.on){color:#555;}
.overlay{position:fixed;inset:0;z-index:100;background:#11182766;display:flex;align-items:center;justify-content:center;padding:16px;animation:gg-appare .15s ease;}
.modal-box{background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-l);box-shadow:var(--ombra-l);width:100%;max-height:calc(100dvh - 32px);overflow-y:auto;animation:gg-sale .18s ease;max-width:520px;padding:24px;}
.modal-box.wide{max-width:820px;}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
@keyframes slideUp{from{opacity:0;transform:translateY(40px);}to{opacity:1;transform:translateY(0);}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
@keyframes bounce{0%,100%{transform:translateY(0);opacity:.4;}50%{transform:translateY(-8px);opacity:1;}}
@keyframes glow{0%,100%{box-shadow:0 0 8px #4ade8066;}50%{box-shadow:0 0 16px #4ade80aa;}}
@keyframes fadeOut{from{opacity:1;transform:scale(1);}to{opacity:0;transform:scale(.96);}}
@keyframes floatUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes scaleIn{from{opacity:0;transform:scale(.96);}to{opacity:1;transform:scale(1);}}
.fu{animation:fadeUp .2s ease;}
.slide-up{animation:slideUp .28s cubic-bezier(.16,1,.3,1);}
.scale-in{animation:scaleIn .18s ease;}
