@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700&family=Inter:wght@400;500&display=swap');

*{box-sizing:border-box;margin:0;padding:0}

:root{
  --g:#2D5016;
  --gl:#4A7C2F;
  --gp:#EAF3DE;
  --gc:#C0DD97;
  --border:#ddd;
  --bg:#f5f5f3;
  --white:#fff;
  --text:#111;
  --muted:#666;
  --faint:#999;
}

body{
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
}

a{color:var(--g);text-decoration:none}
a:hover{text-decoration:underline}

/* ── SITE WRAPPER ── */
.site{
  max-width:960px;
  margin:0 auto;
  background:var(--white);
  box-shadow:0 2px 16px rgba(0,0,0,0.08);
  border:4px solid var(--g);
  border-radius:12px;
  overflow:hidden;
}

/* ── HEADER ── */
.hdr{background:var(--g);padding:0;position:relative;height:200px;display:flex;flex-direction:column;justify-content:center}
.hdr-foto{padding:0}
.hdr-bg-foto{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}
.hdr-bg-foto img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.hdr-bg-overlay{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background:rgba(45,80,22,0.30);
}
.hdr-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;position:relative;z-index:1;padding:0 2rem}
.hdr-stemma{width:72px;height:72px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 3px rgba(0,0,0,0.3))}
.hdr-center{text-align:center;flex:1}
.logo{font-family:'Barlow Condensed',sans-serif;font-size:58px;font-weight:700;color:#fff;letter-spacing:-1px;line-height:1}
.logo-sub{font-size:12px;font-weight:400;color:rgba(255,255,255,0.65);letter-spacing:3px;text-transform:uppercase;margin-top:5px}

/* ── NAV ── */
.nav{
  display:flex;
  background:var(--g);
  border-bottom:3px solid rgba(0,0,0,0.2);
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  gap:2px;
  padding:6px 8px;
  justify-content:center;
}
.nb{
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:500;
  padding:6px 10px;
  border:none;
  background:transparent;
  cursor:pointer;
  color:rgba(255,255,255,0.75);
  white-space:nowrap;
  flex-shrink:0;
  border-radius:8px;
  transition:background .15s,color .15s;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  text-decoration:none;
}
.nb .ico{font-size:20px;line-height:1}
.nb:hover{background:rgba(255,255,255,0.12);color:#fff;text-decoration:none}
.nb.on{background:rgba(255,255,255,0.2);color:#fff;font-weight:700}

@media(max-width:600px){
  .nb{padding:5px 7px;font-size:9px}
  .nb .ico{font-size:16px}
}

/* ── CONTENT ── */
.content{padding:1.75rem 2rem;background:var(--white)}
.sec{display:none}
.sec.on{display:block}

/* ── PANELS ── */
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.panel{background:var(--white);border:2px solid var(--border);border-radius:10px;overflow:hidden}
.panel-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:0.7rem 1rem;
  background:var(--g);
}
.panel-hdr h3{font-size:13px;font-weight:600;color:#fff;display:flex;align-items:center;gap:7px}
.panel-hdr a{font-size:11px;color:#fff;opacity:0.85}
.panel-hdr a:hover{opacity:1}

.panel-body{padding:0.9rem}

/* ── WEBCAM ── */
.wc-frame{
  background:#0f1a0f;border-radius:8px;overflow:hidden;
  position:relative;width:100%;aspect-ratio:16/9;
  display:flex;align-items:center;justify-content:center;
}
.wc-frame img{width:100%;height:100%;object-fit:cover;display:block}
.wc-badge{
  position:absolute;top:8px;left:8px;
  background:#d32f2f;color:#fff;
  font-size:10px;font-weight:600;padding:2px 8px;
  border-radius:20px;z-index:2;letter-spacing:0.5px;
}
.wc-clock{
  position:absolute;top:8px;right:8px;
  font-size:10px;color:rgba(255,255,255,0.75);z-index:2;
  background:rgba(0,0,0,0.4);padding:2px 6px;border-radius:4px;
}
.wc-offline{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:8px;position:absolute;inset:0;
}
.wc-offline-icon{font-size:32px;opacity:0.25;color:#fff}
.wc-offline-txt{font-size:12px;color:rgba(255,255,255,0.4)}

/* ── FACEBOOK ── */
.fb-wrap{display:flex;flex-direction:column;gap:8px}
.fb-post{background:#f7f7f5;border:1px solid #e8e8e6;border-radius:8px;padding:0.75rem}
.fb-ph{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.fb-av{
  width:28px;height:28px;border-radius:50%;
  background:#1877F2;display:flex;align-items:center;
  justify-content:center;font-size:12px;color:#fff;font-weight:600;flex-shrink:0;
}
.fb-nm{font-size:12px;font-weight:600;color:var(--text)}
.fb-dt{font-size:11px;color:var(--faint)}
.fb-tx{font-size:13px;color:#222;line-height:1.55}
.fb-cta{text-align:center;padding-top:4px}
.fb-cta a{font-size:12px;color:#1877F2;font-weight:500}

/* ── NEWS ── */
.news-panel{margin-bottom:16px}
.news-empty{
  background:#f8f8f6;border:1.5px dashed #ccc;border-radius:8px;
  padding:1.5rem;text-align:center;font-size:13px;color:var(--faint);line-height:1.6;
}
.news-empty .ico-big{font-size:28px;color:#ccc;display:block;margin-bottom:8px}

/* ── BOTTOM ROW ── */
.bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.numeri-list{display:flex;flex-direction:column}
.num-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 0;border-bottom:1px solid #eee;gap:10px;
}
.num-item:last-child{border-bottom:none;padding-bottom:0}
.num-label{font-size:13px;color:var(--text);line-height:1.3}
.num-tel{
  font-size:13px;font-weight:600;color:var(--g);
  white-space:nowrap;display:flex;align-items:center;gap:5px;
}
.num-tel:hover{text-decoration:underline}
.map-wrap{display:flex;flex-direction:column}
.map-frame{border-radius:8px;overflow:hidden;border:1px solid var(--border);flex:1;min-height:230px}
.map-frame iframe{width:100%;height:100%;border:none;display:block;min-height:230px}

/* ── METEO ── */
/* ── METEO DINAMICO ── */
.meteo-hero{
  background:#EAF3DE;
  border:1px solid #C0DD97;
  border-radius:12px;
  overflow:hidden;
  margin-bottom:16px;
}
.meteo-hero:after{content:'';display:table;clear:both}
.meteo-hero-left{
  float:left;
  width:190px;
  padding:20px 16px;
  text-align:center;
  border-right:1px solid #C0DD97;
  box-sizing:border-box;
}
.meteo-hero-right{
  margin-left:190px;
  padding:16px 20px;
}
.meteo-emoji{font-size:38px;line-height:1;display:block;margin-bottom:8px}
.meteo-temp-big{
  font-family:'Barlow Condensed',sans-serif;
  font-size:62px;font-weight:700;color:#2D5016;
  line-height:1;display:block;
}
.meteo-descr{font-size:13px;font-weight:600;color:#3B6D11;margin-top:8px;display:block}
.meteo-percep{font-size:11px;color:#888;margin-top:3px;display:block}
.meteo-riga{margin-bottom:8px;font-size:13px;line-height:1.4;overflow:hidden}
.meteo-riga:last-child{margin-bottom:0}
.meteo-detail-icon{float:left;width:24px;font-size:14px}
.meteo-detail-label{float:left;color:#555;width:90px}
.meteo-detail-val{float:left;font-weight:600;color:#111}
.meteo-riga:after{content:'';display:table;clear:both}

/* Giorni previsioni */
.meteo-giorni{margin-bottom:14px;overflow:hidden}
.meteo-giorno{
  float:left;
  width:13%;
  margin-right:0.57%;
  background:#fff;
  border:1px solid #ddd;
  border-radius:8px;
  padding:8px 2px;
  text-align:center;
  box-sizing:border-box;
}
.meteo-giorno:last-child{margin-right:0}
.meteo-oggi{background:#EAF3DE;border:2px solid #C0DD97}
.meteo-giorno-nome{font-size:10px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:0.3px;display:block;margin-bottom:5px}
.meteo-oggi .meteo-giorno-nome{color:#2D5016}
.meteo-giorno-emoji{font-size:20px;line-height:1;display:block;margin-bottom:5px}
.meteo-giorno-max{font-size:14px;font-weight:700;color:#111;display:block}
.meteo-giorno-min{font-size:11px;color:#999;display:block;margin-top:1px}
.meteo-giorno-pioggia{font-size:9px;color:#185FA5;display:block;margin-top:3px}
.meteo-giorni:after{content:'';display:table;clear:both}

.meteo-fonte{font-size:11px;color:#aaa;margin-top:4px}
.meteo-fonte a{color:#2D5016}
.meteo-errore{text-align:center;padding:3rem 1rem;background:#f8f8f6;border-radius:12px;border:1px solid #ddd;color:#888}

/* Radar Windy */
.meteo-radar-wrap{margin-top:1.5rem}
.meteo-radar-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:16px;font-weight:700;color:#2D5016;
  margin-bottom:10px;padding-bottom:8px;
  border-bottom:2px solid #EAF3DE;
}
.meteo-radar-iframe{
  width:100%;height:450px;border:none;
  border-radius:10px;display:block;
  border:1px solid #ddd;
}

@media(max-width:600px){
  .meteo-hero-left{float:none;width:100%;border-right:none;border-bottom:1px solid #C0DD97}
  .meteo-hero-right{margin-left:0}
  .meteo-giorno{width:13%;margin-right:0.4%}
}


/* ── WEBCAM THUMBS ── */
.wc-thumbs{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin-top:12px;
}
.wc-thumb{
  position:relative;
  aspect-ratio:16/9;
  background:#0f1a0f;
  border-radius:8px;
  overflow:hidden;
  cursor:pointer;
  border:2px solid transparent;
  transition:border-color .15s, opacity .15s;
}
.wc-thumb:hover{border-color:var(--gc);opacity:0.9}
.wc-thumb.on{border-color:var(--g);box-shadow:0 0 0 1px var(--g)}
.wc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.wc-thumb-off{
  display:flex;align-items:center;justify-content:center;
  position:absolute;inset:0;
  font-size:20px;opacity:0.3;color:#fff;
}
.wc-thumb-label{
  position:absolute;bottom:0;left:0;right:0;
  background:rgba(0,0,0,0.55);
  color:rgba(255,255,255,0.85);
  font-size:10px;font-weight:600;
  text-align:center;padding:3px 0;
  letter-spacing:0.5px;
}

/* ── WEBCAM TABS ── */
.wc-tabs{overflow:hidden;margin-bottom:14px}
.wc-tabs:after{content:'';display:table;clear:both}
.wc-tab{
  float:left;display:block;text-decoration:none;
  padding:8px 18px;margin-right:8px;
  font-size:13px;font-weight:500;color:#555;
  background:#f8f8f6;border:1px solid #ddd;border-radius:8px;
}
.wc-tab:hover{color:#2D5016;text-decoration:none}
.wc-tab.on{
  background:var(--g);color:#fff;font-weight:600;
  border-color:var(--g);
}

.wc-altri-grid{display:block}
.wc-altri-iframe{
  width:100%;aspect-ratio:16/9;border:none;border-radius:10px;
  background:#0f1a0f;display:block;
}

/* ── WEBCAM PAGE ── */
#wc-big-link{display:block;text-decoration:none}
#wc-big-link:hover .wc-big-hint{opacity:1}
.wc-big{
  background:#0f1a0f;border-radius:10px;aspect-ratio:16/9;
  overflow:hidden;position:relative;margin-bottom:14px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
}
.wc-big img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.wc-big-offline{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;position:absolute;inset:0}
.wc-big-hint{
  position:absolute;bottom:0;left:0;right:0;
  background:rgba(0,0,0,0.55);
  color:rgba(255,255,255,0.75);
  font-size:12px;text-align:center;
  padding:7px;
  opacity:0;
  transition:opacity .2s;
  z-index:3;
}

@media(max-width:640px){
  .wc-thumbs{grid-template-columns:repeat(3,1fr)}
}

/* ── IL PAESE ── */
.paese-hero{
  background:var(--g);border:none;color:#fff;border-radius:10px;
  padding:1.5rem;margin-bottom:1.25rem;display:flex;gap:1.5rem;align-items:center;
}
.paese-hero-ico{font-size:52px;color:#fff;opacity:0.85;flex-shrink:0;line-height:1}
.paese-hero h2{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:700;color:#fff;margin-bottom:6px}
.paese-hero p{font-size:13px;color:rgba(255,255,255,0.8);line-height:1.65}
.paese-grid{overflow:hidden}
.paese-grid:after{content:'';display:table;clear:both}
.paese-card{
  float:left;width:31.33%;margin:0 3% 16px 0;
  background:var(--gp);border:1px solid var(--gc);border-radius:10px;
  padding:1.25rem;text-align:center;box-sizing:border-box;
}
.paese-card:nth-child(3n){margin-right:0}
.paese-link{
  display:inline-block;margin-top:8px;
  font-size:12px;font-weight:600;color:#2D5016;
  text-decoration:none;padding:5px 14px;
  border:1px solid #2D5016;border-radius:20px;
  transition:all .15s;
}
.paese-link:hover{background:#2D5016;color:#fff;text-decoration:none}

/* ── PAESE DETTAGLIO ── */
.paese-detail{max-width:720px}
.paese-back{
  display:inline-block;font-size:13px;color:#2D5016;
  text-decoration:none;margin-bottom:1.25rem;
}
.paese-back:hover{text-decoration:underline}
.paese-detail-hdr{
  display:table;width:100%;margin-bottom:1.25rem;
  padding-bottom:1.25rem;border-bottom:2px solid #EAF3DE;
}
.paese-detail-ico{
  display:table-cell;vertical-align:middle;
  font-size:40px;width:56px;
}
.paese-detail-hdr h1{
  display:table-cell;vertical-align:middle;
  font-family:'Barlow Condensed',sans-serif;
  font-size:30px;font-weight:700;color:#111;
}
.paese-detail-body{font-size:14px;color:#333;line-height:1.75}
.paese-detail-body p{margin-bottom:1rem}
.paese-detail-body h3{
  font-family:'Barlow Condensed',sans-serif;
  font-size:18px;font-weight:700;color:#2D5016;
  margin:1.5rem 0 0.75rem;
}
.paese-detail-body a{color:#2D5016}
.paese-detail-body ol{padding-left:1.5rem;margin-bottom:1rem}
.paese-detail-body ol li{margin-bottom:6px}
.paese-copy{font-size:12px;color:#999;border-top:1px solid #eee;padding-top:1rem;margin-top:1.5rem}
.paese-fonte-nota{font-size:12px;color:#aaa;font-style:italic}

/* Galleria foto pagine dettaglio "Il paese" */
.paese-foto-grid{overflow:hidden;margin-bottom:1.5rem}
.paese-foto-grid:after{content:'';display:table;clear:both}
.paese-foto-item{
  float:left;width:23%;margin:0 2.66% 10px 0;
  display:block;position:relative;
  border-radius:8px;overflow:hidden;
  background:#EAF3DE;box-sizing:border-box;
  height:120px;
}
.paese-foto-item:nth-child(4n){margin-right:0}
.paese-foto-item img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:540px){
  .paese-foto-item{width:48%;margin-right:4%;height:100px}
  .paese-foto-item:nth-child(2n){margin-right:0}
}

/* ── CONVENZIONI: 3 colonne (immagine / sconto / info) ── */
.conv-row{
  overflow:hidden;background:#fff;border:1px solid #e5e5e3;
  border-radius:10px;padding:0.85rem 1.25rem;margin-bottom:12px;
}
.conv-row:after{content:'';display:table;clear:both}
.conv-col-img{
  float:left;width:22%;box-sizing:border-box;padding-right:1rem;
  text-align:center;
}
.conv-col-img img{max-width:100%;max-height:60px;object-fit:contain}
.conv-col-sconto{
  float:left;width:34%;font-weight:700;color:#2D5016;
  font-size:14px;padding-right:1rem;box-sizing:border-box;
  border-left:1px solid #eee;padding-left:1rem;
}
.conv-col-sconto small{display:block;font-weight:400;color:#777;font-size:11px;margin-top:4px;line-height:1.4}
.conv-col-info{
  float:left;width:44%;font-size:13px;color:#333;line-height:1.6;
  box-sizing:border-box;border-left:1px solid #eee;padding-left:1rem;
}
.conv-col-info a{color:#2D5016}
@media(max-width:640px){
  .conv-col-img,.conv-col-sconto,.conv-col-info{float:none;width:100%;border-left:none;padding-left:0}
  .conv-col-img{margin-bottom:8px}
  .conv-col-sconto{border-top:1px solid #eee;padding-top:8px;margin-bottom:8px}
  .conv-col-info{border-top:1px solid #eee;padding-top:8px}
}

/* ── CIRCOLO SUBTABS (Sentiero Al-Ba) ── */
.circolo-subtabs{overflow:hidden;margin-bottom:1.25rem;border-bottom:1px solid #eee}
.circolo-subtab{
  float:left;display:block;padding:8px 16px;margin-right:6px;
  font-size:13px;font-weight:500;color:#555;text-decoration:none;
  border-radius:8px 8px 0 0;border:1px solid transparent;
}
.circolo-subtab:hover{color:#2D5016;text-decoration:none}
.circolo-subtab.on{
  color:#2D5016;font-weight:700;background:#f8f8f6;
  border:1px solid #eee;border-bottom-color:#f8f8f6;
  margin-bottom:-1px;
}
.paese-card-ico{font-size:30px;color:var(--g);margin-bottom:10px}
.paese-card h4{font-size:14px;font-weight:600;color:var(--text);margin-bottom:5px}
.paese-card p{font-size:12px;color:var(--muted);line-height:1.55}
.wip{
  display:inline-block;font-size:10px;
  background:#FAEEDA;color:#854F0B;
  padding:3px 9px;border-radius:20px;margin-top:8px;font-weight:500;
}

/* ── CIRCOLO ── */
.circolo-hdr{
  display:flex;align-items:center;gap:1.25rem;
  background:var(--g);color:#fff;
  border-radius:10px;padding:1.25rem 1.75rem;margin-bottom:1.25rem;
}
.circolo-hdr-ico{font-size:40px;opacity:0.8;line-height:1}
.circolo-hdr h2{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:700;margin-bottom:3px}
.circolo-hdr p{font-size:13px;opacity:0.7}
.circolo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.c-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem}
.c-card h4{font-size:13px;font-weight:600;color:var(--text);margin-bottom:10px;display:flex;align-items:center;gap:7px}
.evento{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}
.evento:last-child{margin-bottom:0}
.ev-data{background:var(--g);color:#fff;border-radius:8px;width:42px;text-align:center;padding:5px;flex-shrink:0}
.ev-g{font-size:18px;font-weight:700;line-height:1}
.ev-m{font-size:10px;opacity:0.75;text-transform:uppercase;letter-spacing:0.5px}
.ev-info{font-size:13px;line-height:1.5}
.ev-info strong{color:var(--text);font-weight:600;display:block}
.ev-info span{color:var(--muted);font-size:12px}
.orari-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #eee;font-size:13px}
.orari-row:last-of-type{border-bottom:none}
.gio{color:var(--muted)}
.ora{font-weight:600;color:var(--text)}
.chiuso{color:#bbb;font-style:italic}
.circolo-desc{background:#f8f8f6;border-radius:10px;padding:1rem 1.25rem;font-size:13px;color:var(--muted);line-height:1.75}

/* ── FOOTER ── */
.ftr{
  padding:1rem 2rem;border-top:1px solid var(--border);
  font-size:12px;color:var(--faint);
  display:flex;justify-content:space-between;align-items:center;
  background:var(--white);
}
.ftr-badge{color:var(--g);font-weight:600}

/* ── RESPONSIVE ── */
@media(max-width:640px){
  .hdr{padding:1rem 1rem 0}
  .logo{font-size:40px}
  .hdr-stemma{width:52px;height:52px}
  .content{padding:1.25rem 1rem}
  .row2,.bottom-row,.circolo-grid{grid-template-columns:1fr}
  .paese-card{float:none;width:100%;margin:0 0 12px 0}
  .meteo-giorni{gap:4px}
  .nav{padding:4px 6px}
  .nav{padding:0.25rem 0.5rem 0.25rem}
}

/* ── NEWS CARDS ── */
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:540px){.news-grid{grid-template-columns:1fr}}
.news-card{display:flex;flex-direction:column;gap:0;background:#fff;border:2px solid #C0DD97;border-radius:10px;padding:1rem;box-shadow:0 1px 4px rgba(0,0,0,0.05)}
.news-card-title{font-size:15px;font-weight:700;color:#111;margin-bottom:3px;line-height:1.3}
.news-card-date{font-size:11px;color:#aaa;margin-bottom:10px}
.news-card-rule{border:none;border-top:1px solid #eee;margin-bottom:10px}
.news-card-text{font-size:13px;color:#555;line-height:1.6;flex:1;margin-bottom:12px}
.news-card-link{font-size:12px;font-weight:600;color:#2D5016;text-decoration:none;align-self:flex-start}
.news-card-link:hover{text-decoration:underline}

/* ── NEWS PAGE ── */
.news-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:540px){.news-page-grid{grid-template-columns:1fr}}
.news-page-card{background:#fff;border:2px solid #C0DD97;border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;gap:0;box-shadow:0 1px 4px rgba(0,0,0,0.05)}
.news-page-title{font-size:16px;font-weight:700;color:#111;margin-bottom:3px;line-height:1.3}
.news-page-date{font-size:11px;color:#aaa;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #eee}
.news-page-text{font-size:13px;color:#555;line-height:1.65;flex:1;margin-bottom:14px}
.news-leggi{font-size:13px;font-weight:600;color:#2D5016;text-decoration:none;align-self:flex-start;padding:6px 14px;border:1px solid #2D5016;border-radius:20px;transition:all .15s}
.news-leggi:hover{background:#2D5016;color:#fff;text-decoration:none}

/* News singola */
.news-single{max-width:680px}
.news-back{font-size:13px;color:#2D5016;text-decoration:none;display:inline-block;margin-bottom:1.25rem}
.news-back:hover{text-decoration:underline}
.news-single-title{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:700;color:#111;margin-bottom:4px;line-height:1.2}
.news-single-date{font-size:12px;color:#aaa;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid #eee}
.news-single-body{font-size:14px;color:#333;line-height:1.75}
.news-single-body img{max-width:100%;border-radius:8px;margin:12px 0}
.news-single-body a{color:#2D5016}
.news-single-body strong{font-weight:700}
.news-single-body em{font-style:italic}
.news-single-body ul,.news-single-body ol{padding-left:1.5rem;margin:8px 0}
.news-single-body li{margin-bottom:4px}

/* ── LOADING ── */
.loading{
  padding:3rem;
  text-align:center;
  font-size:13px;
  color:var(--faint);
}

/* ── CALENDARIO ── */
.cal-layout{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
@media(max-width:620px){.cal-layout{grid-template-columns:1fr}}

.cal-col-sx{width:300px;flex-shrink:0}
@media(max-width:620px){.cal-col-sx{width:100%}}

.cal-header{background:#2D5016;border-radius:10px 10px 0 0;padding:0.9rem 1rem 0.75rem;color:#fff;text-align:center}
.cal-anno{font-size:11px;opacity:0.55;letter-spacing:2px;font-weight:500;margin-bottom:2px}
.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}
.cal-nav-btn{color:#fff;text-decoration:none;font-size:16px;opacity:0.8;padding:2px 8px;border-radius:6px;transition:background .15s;line-height:1}
.cal-nav-btn:hover{background:rgba(255,255,255,0.15);opacity:1;text-decoration:none}
.cal-mese-nome{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;letter-spacing:-0.5px;line-height:1}

.cal-grid-header{display:grid;grid-template-columns:repeat(7,1fr);background:#EAF3DE;border-left:1px solid #C0DD97;border-right:1px solid #C0DD97}
.cal-dow{text-align:center;font-size:10px;font-weight:700;color:#3B6D11;padding:5px 0;letter-spacing:0.3px}

.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #C0DD97;border-top:none;border-radius:0 0 10px 10px;overflow:hidden;background:#fff}
.cal-cell{min-height:36px;padding:3px 3px 2px;border-right:1px solid #eee;border-bottom:1px solid #eee;background:#fff}
.cal-cell:nth-child(7n){border-right:none}
.cal-empty{background:#fafafa}
.cal-day-num{display:block;width:20px;height:20px;line-height:20px;text-align:center;font-size:11px;font-weight:500;color:#333;border-radius:50%}
.cal-oggi .cal-day-num{background:#2D5016;color:#fff;font-weight:700}
.cal-weekend{background:#fdf9f0}
.cal-weekend .cal-day-num{color:#854F0B}
.cal-past .cal-day-num{color:#ccc}
.cal-has-event{background:#f0f7ea}
.cal-oggi.cal-has-event{background:#e6f0e6}
.cal-event-dot{width:5px;height:5px;border-radius:50%;background:#2D5016;margin:1px auto 0}

.cal-legenda{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}
.leg-item{display:flex;align-items:center;gap:4px;font-size:10px;color:#888}
.leg-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}
.leg-oggi{background:#2D5016}
.leg-event-dot{width:6px;height:6px;border-radius:50%;background:#2D5016;opacity:0.6;display:inline-block}
.leg-weekend{background:#fdf9f0;border:1px solid #e8d5b0}

/* Colonna dx: lista eventi */
.cal-col-dx{min-width:0}
.cal-ev-list-title{font-size:13px;font-weight:700;color:#2D5016;margin-bottom:12px;text-transform:uppercase;letter-spacing:0.5px;padding-bottom:8px;border-bottom:2px solid #EAF3DE}
.cal-ev-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #eee}
.cal-ev-row:last-child{border-bottom:none}
.cal-ev-highlight{background:#f0f7ea;border-radius:8px;padding:10px;margin:0 -10px;border-bottom:none}
.cal-ev-data{background:#2D5016;color:#fff;border-radius:8px;width:40px;text-align:center;padding:5px 4px;flex-shrink:0}
.cal-ev-g{display:block;font-size:18px;font-weight:700;line-height:1}
.cal-ev-m{display:block;font-size:9px;opacity:0.8;letter-spacing:1px}
.cal-ev-y{display:block;font-size:9px;opacity:0.6}
.cal-ev-info{flex:1}
.cal-ev-title{font-size:14px;font-weight:600;color:#111;margin-bottom:2px}
.cal-ev-luogo{font-size:12px;color:#888;margin-bottom:2px}
.cal-ev-desc{font-size:12px;color:#555;line-height:1.5}


/* ── GALLERIA PUBBLICA ── */
.gal-pub{min-height:300px}

/* Breadcrumb */
.gal-breadcrumb{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -ms-flex-wrap:wrap;flex-wrap:wrap;
  gap:6px;margin-bottom:1.5rem;font-size:13px;
  padding:10px 14px;background:#EAF3DE;border-radius:8px;
  border:1px solid #C0DD97;
}
.gal-breadcrumb > * + *{margin-left:6px}
.gal-bc-link{color:#2D5016;text-decoration:none;font-weight:500}
.gal-bc-link:hover{text-decoration:underline}
.gal-bc-sep{color:#C0DD97;font-size:16px}
.gal-bc-home{font-size:15px;line-height:1}

/* Titolo sezione */
.gal-section-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px;font-weight:700;color:#2D5016;
  text-transform:uppercase;letter-spacing:1px;
  margin-bottom:12px;padding-bottom:8px;
  border-bottom:2px solid #EAF3DE;
}

/* Stato vuoto */
.gal-empty{
  text-align:center;padding:4rem 1rem;color:#999;
  background:#EAF3DE;border-radius:12px;
  border:1px dashed #C0DD97;line-height:2.2;
}
.gal-empty-icon{font-size:44px;margin-bottom:10px;opacity:0.5}

/* ── GRIGLIA CARTELLE ── */
.gal-cartelle-grid{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:1.5rem;
}
.gal-folder-card{
  width:calc(25% - 12px);
  min-width:160px;
  -webkit-box-flex:0;
  -ms-flex:0 0 calc(25% - 12px);
  flex:0 0 calc(25% - 12px);
}
.gal-folder-card{
  text-decoration:none;color:inherit;display:block;
  border-radius:12px;overflow:hidden;
  border:1px solid #ddd;background:#fff;
  -webkit-transition:box-shadow .2s,transform .2s;
  transition:box-shadow .2s,-webkit-transform .2s;
  transition:box-shadow .2s,transform .2s;
  box-shadow:0 1px 4px rgba(0,0,0,0.05);
}
.gal-folder-card:hover{
  box-shadow:0 6px 20px rgba(45,80,22,0.15);
  -webkit-transform:translateY(-3px);
  transform:translateY(-3px);
  text-decoration:none;
}
.gal-folder-cover{
  position:relative;
  padding-top:66.66%;/* ratio 3:2 fallback per Firefox */
  background:#EAF3DE;overflow:hidden;
}
.gal-folder-cover img{
  position:absolute;top:0;left:0;
  width:100%;height:100%;object-fit:cover;display:block;
  -webkit-transition:transform .3s;
  transition:transform .3s;
}
.gal-folder-card:hover .gal-folder-cover img{
  -webkit-transform:scale(1.06);
  transform:scale(1.06);
}
.gal-folder-nocover{
  position:absolute;top:0;left:0;width:100%;height:100%;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-orient:vertical;-webkit-box-direction:normal;
  -ms-flex-direction:column;flex-direction:column;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  background:#EAF3DE;gap:8px;
}
.gal-folder-nocover svg{width:52px;height:52px;opacity:0.55}
.gal-folder-nocover span{font-size:11px;color:#4A7C2F;font-weight:500;letter-spacing:0.5px;text-transform:uppercase}
.gal-folder-badge{
  position:absolute;top:8px;right:8px;
  background:rgba(45,80,22,0.85);color:#fff;
  font-size:10px;font-weight:600;padding:3px 8px;
  border-radius:20px;letter-spacing:0.3px;
}
.gal-folder-overlay{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background:-webkit-linear-gradient(bottom, rgba(0,0,0,0.45) 0%, transparent 50%);
  background:linear-gradient(to top, rgba(0,0,0,0.45) 0%, transparent 50%);
}
.gal-folder-info{
  padding:10px 12px 12px;
  border-top:2px solid #EAF3DE;
}
.gal-folder-nome{
  font-size:14px;font-weight:700;color:#111;
  margin-bottom:3px;line-height:1.2;
}
.gal-folder-meta{font-size:11px;color:#999}

/* ── GRIGLIA FOTO ── */
.gal-foto-grid{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  gap:8px;
}
.gal-foto-item{
  display:block;
  width:200px;
  height:150px;
  border-radius:8px;
  overflow:hidden;
  background:#EAF3DE;
  box-shadow:0 1px 3px rgba(0,0,0,0.08);
  -webkit-box-flex:1;
  -ms-flex:1 1 200px;
  flex:1 1 200px;
  max-width:300px;
}
.gal-foto-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  -webkit-transition:transform .25s;
  transition:transform .25s;
}
.gal-foto-item:hover img{
  -webkit-transform:scale(1.07);
  transform:scale(1.07);
}

/* ── LIGHTBOX ── */
.lightbox{
  position:fixed;top:0;left:0;right:0;bottom:0;
  z-index:9999;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
}
.lb-overlay{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background:rgba(0,0,0,0.92);
}
.lb-box{
  position:relative;z-index:1;
  max-width:92vw;max-height:92vh;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
}
.lb-img{
  max-width:88vw;max-height:88vh;
  border-radius:8px;
  box-shadow:0 12px 48px rgba(0,0,0,0.6);
  display:block;
}
.lb-close{
  position:fixed;top:16px;right:16px;
  background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);
  color:#fff;width:38px;height:38px;border-radius:50%;
  font-size:16px;cursor:pointer;z-index:2;
}
.lb-close:hover{background:rgba(255,255,255,0.25)}
.lb-nav{
  position:fixed;top:50%;
  -webkit-transform:translateY(-50%);
  transform:translateY(-50%);
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);
  color:#fff;text-decoration:none;font-size:20px;
  padding:12px 16px;border-radius:10px;z-index:2;
}
.lb-nav:hover{background:rgba(255,255,255,0.25);text-decoration:none}
.lb-prev{left:16px}
.lb-next{right:16px}
.lb-counter{
  position:fixed;bottom:20px;left:50%;
  -webkit-transform:translateX(-50%);
  transform:translateX(-50%);
  color:rgba(255,255,255,0.7);font-size:12px;font-weight:500;
  background:rgba(0,0,0,0.5);padding:4px 14px;
  border-radius:20px;z-index:2;letter-spacing:0.5px;
}

@media(max-width:640px){
  .gal-folder-card{-ms-flex:0 0 calc(50% - 8px);flex:0 0 calc(50% - 8px);min-width:0}
  .gal-foto-item{-ms-flex:0 0 calc(50% - 4px);flex:0 0 calc(50% - 4px);min-width:0}
  .lb-nav{padding:8px 12px;font-size:16px}
}

/* ── AREA SOCI ── */
.soci-gate{
  max-width:400px;margin:2rem auto;text-align:center;
  background:#fff;border:2px solid #C0DD97;border-radius:14px;
  padding:2.5rem 2rem;
}
.soci-gate-ico{font-size:48px;margin-bottom:12px}
.soci-gate h2{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;color:#2D5016;margin-bottom:10px}
.soci-gate p{font-size:13px;color:#555;line-height:1.6;margin-bottom:1.5rem}
.soci-form{display:table;width:100%;border-spacing:0}
.soci-input{
  display:table-cell;width:100%;
  padding:10px 14px;font-size:14px;font-family:'Inter',sans-serif;
  border:2px solid #ddd;border-radius:8px 0 0 8px;
  outline:none;box-sizing:border-box;
}
.soci-input:focus{border-color:#2D5016}
.soci-btn{
  display:table-cell;white-space:nowrap;
  padding:10px 18px;background:#2D5016;color:#fff;
  border:none;border-radius:0 8px 8px 0;
  font-size:13px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;
}
.soci-btn:hover{background:#4A7C2F}
.soci-errore{margin-top:14px;padding:8px 14px;background:#fdecea;border:1px solid #f5c6c2;border-radius:8px;font-size:13px;color:#c0392b}
.soci-hdr{
  display:table;width:100%;margin-bottom:1.25rem;
  background:#2D5016;border-radius:10px;padding:1rem 1.5rem;box-sizing:border-box;
}
.soci-hdr > div{display:table-cell;vertical-align:middle}
.soci-hdr-title{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;color:#fff}
.soci-hdr-sub{font-size:12px;color:rgba(255,255,255,0.75);margin-top:2px}
.soci-esci{display:table-cell;vertical-align:middle;text-align:right;font-size:12px;color:rgba(255,255,255,0.8);text-decoration:none;white-space:nowrap}
.soci-esci:hover{color:#fff;text-decoration:none}
.soci-tabs{overflow:hidden;margin-bottom:1.25rem;border-bottom:2px solid #EAF3DE}
.soci-tabs:after{content:'';display:table;clear:both}
.soci-tab{float:left;display:block;text-decoration:none;padding:8px 16px;margin-right:4px;font-size:13px;font-weight:500;color:#555;border-radius:8px 8px 0 0;border:1px solid transparent}
.soci-tab:hover{color:#2D5016;text-decoration:none}
.soci-tab.on{color:#2D5016;font-weight:700;background:#f8f8f6;border:1px solid #eee;border-bottom-color:#f8f8f6;margin-bottom:-2px}
.soci-sezione-hdr{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;color:#2D5016;margin-bottom:1rem;padding-bottom:8px;border-bottom:2px solid #EAF3DE}
.soci-vuoto{text-align:center;padding:2.5rem 1rem;color:#aaa;font-size:13px;line-height:2;background:#f8f8f6;border-radius:10px;border:1px dashed #ddd}

/* File lista area soci pubblica */
.soci-file-lista{background:#f8f8f6;border-radius:8px;overflow:hidden;margin-top:4px}
.soci-file-row{
  display:table;width:100%;border-bottom:1px solid #eee;
  padding:10px 14px;box-sizing:border-box;background:#fff;
}
.soci-file-row:last-child{border-bottom:none}
.soci-file-ico{display:table-cell;width:28px;font-size:18px;vertical-align:middle}
.soci-file-titolo{display:table-cell;font-size:13px;font-weight:600;color:#111;vertical-align:middle;padding:0 10px}
.soci-file-meta{display:table-cell;font-size:11px;color:#aaa;vertical-align:middle;white-space:nowrap;padding-right:10px}
.soci-file-dl{
  display:table-cell;white-space:nowrap;vertical-align:middle;
  font-size:12px;font-weight:600;color:#2D5016;text-decoration:none;
  border:1px solid #2D5016;padding:4px 12px;border-radius:6px;
}
.soci-file-dl:hover{background:#2D5016;color:#fff;text-decoration:none}

/* ── STAZIONE METEO BARBAGIAN ── */
.barb-wrap{
  margin-top:1.5rem;margin-bottom:1.5rem;
  background:#EAF3DE;border:1px solid #C0DD97;
  border-radius:12px;padding:1rem 1.25rem;
}
.barb-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:16px;font-weight:700;color:#2D5016;
  margin-bottom:10px;padding-bottom:8px;
  border-bottom:1px solid #C0DD97;
}
.barb-iframe{
  width:100%;height:220px;border:none;
  border-radius:8px;background:#fff;display:block;
}
.barb-btn{
  display:inline-block;padding:10px 20px;
  background:#2D5016;color:#fff;text-decoration:none;
  border-radius:8px;font-size:13px;font-weight:600;
}
.barb-btn:hover{background:#4A7C2F;text-decoration:none}

/* ── SOCIAL BUTTONS ── */
.social-btns{display:flex;gap:6px;align-items:center}
.social-btn{
  font-size:11px;font-weight:700;text-decoration:none;
  padding:4px 10px;border-radius:20px;color:#fff;
  display:inline-block;
}
.social-btn:hover{opacity:0.85;text-decoration:none}
.social-fb{background:#1877F2}
.social-ig{background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);background:#C13584}
.social-yt{background:#FF0000}

/* ── BARRA ANNUNCIO ── */
.annuncio-bar{
  background:#EAF3DE;border-top:2px solid #C0DD97;
  padding:7px 14px;display:flex;align-items:center;gap:10px;
}
.annuncio-ico{font-size:15px;flex-shrink:0}
.annuncio-testo{font-size:12px;color:#2D5016;flex:1}
.annuncio-testo strong{color:#2D5016}
.annuncio-link{
  color:#2D5016;font-weight:700;text-decoration:none;
  border-bottom:1px solid #2D5016;
}
.annuncio-link:hover{opacity:0.75}

/* ── 5x1000 ── */
.cinque-wrap{max-width:680px}
.cinque-hdr{
  background:#2D5016;border-radius:10px;padding:1.25rem 1.5rem;
  margin-bottom:1.5rem;display:flex;align-items:center;gap:14px;
}
.cinque-hdr-ico{font-size:36px}
.cinque-hdr h1{
  font-family:'Barlow Condensed',sans-serif;font-size:24px;
  font-weight:700;color:#fff;margin:0;
}
.cinque-body{font-size:14px;color:#333;line-height:1.75}
.cinque-body p{margin-bottom:1rem}
.cinque-cf{
  background:#EAF3DE;border:2px solid #C0DD97;border-radius:10px;
  padding:1rem 1.5rem;margin:1.25rem 0;text-align:center;
}
.cinque-cf-label{display:block;font-size:12px;color:#666;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.cinque-cf-num{
  font-family:'Barlow Condensed',sans-serif;font-size:36px;
  font-weight:700;color:#2D5016;letter-spacing:3px;
}
.cinque-img-wrap{margin-top:1.5rem;text-align:center}
.cinque-img{max-width:100%;border-radius:10px;border:1px solid #ddd}

/* ── CHATBOT BUBBLE ── */
#chat-bubble{
  position:fixed;bottom:24px;right:24px;z-index:1000;
  width:56px;height:56px;border-radius:50%;
  background:#2D5016;color:#fff;font-size:26px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,0.25);
  transition:transform .15s;
}
#chat-bubble:hover{transform:scale(1.1)}

#chat-box{
  position:fixed;bottom:24px;right:24px;z-index:1000;
  width:320px;height:420px;
  background:#fff;border-radius:14px;
  box-shadow:0 8px 32px rgba(0,0,0,0.18);
  display:none;flex-direction:column;overflow:hidden;
}
#chat-hdr{
  background:#2D5016;color:#fff;
  padding:12px 14px;font-size:13px;font-weight:700;
  display:flex;justify-content:space-between;align-items:center;
  flex-shrink:0;
}
#chat-close{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:0;line-height:1}
#chat-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
.chat-msg{max-width:85%;font-size:13px;line-height:1.5;padding:8px 12px;border-radius:12px;word-wrap:break-word}
.chat-msg.user{background:#2D5016;color:#fff;align-self:flex-end;border-radius:12px 12px 2px 12px}
.chat-msg.bot{background:#EAF3DE;color:#2D5016;align-self:flex-start;border-radius:12px 12px 12px 2px}
.chat-msg.loading{opacity:0.6}
.chat-link{display:inline-block;margin-top:6px;color:#2D5016;font-weight:700;font-size:12px;text-decoration:none;border-bottom:1px solid #2D5016}
#chat-input-wrap{display:flex;border-top:1px solid #eee;flex-shrink:0}
#chat-input{flex:1;border:none;padding:10px 12px;font-size:13px;font-family:'Inter',sans-serif;outline:none}
#chat-send{background:#2D5016;color:#fff;border:none;padding:0 16px;font-size:16px;cursor:pointer;flex-shrink:0}
#chat-send:hover{background:#4A7C2F}
@media(max-width:400px){
  #chat-box{width:calc(100vw - 20px);right:10px;bottom:10px}
  #chat-bubble{right:14px;bottom:14px}
}
