/* === VERSIONE-NUOVA-16AGO === */
/* =====================================================================
   Logarzo & Cetrangolo — stile pubblico (elenco + dettaglio)
   Design pulito, sobrio, responsive. Palette dal logo.
   ===================================================================== */
:root{
    --dark:#1a2028; --gold:#B1943B; --gold-d:#8f7630;
    --bg:#f6f4ef; --card:#ffffff; --line:#e6e2d8;
    --text:#2a2a2a; --muted:#6f6f6f;
    --serif:Georgia,"Times New Roman",serif;
    --sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;max-width:100%;overflow-x:hidden;}
body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.5;padding-top:56px;}
a{color:inherit;}
img{max-width:100%;}

/* ---------- Nav ---------- */
nav.mainNav{
    position:fixed;top:0;left:0;width:100%;height:56px;box-sizing:border-box;
    background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:space-between;
    padding:0 20px;z-index:100;
}
nav.mainNav a{color:#e9e4d6;text-decoration:none;opacity:.9;font-size:.95rem;}
nav.mainNav a:hover{opacity:1;color:#fff;}
nav.mainNav .logoLink{display:flex;align-items:center;gap:.55rem;font-family:var(--serif);font-weight:700;color:var(--gold);letter-spacing:.02em;min-width:0;}
nav.mainNav .logoLink span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
nav.mainNav .navLogo{height:38px;width:auto;display:block;flex:0 0 auto;}
nav.mainNav .navAdmin{display:flex;align-items:center;gap:1.1rem;flex:0 0 auto;padding-left:1rem;}

/* ---------- Contenitore pagina ---------- */
.wrapperAnnunci{display:block;max-width:1200px;margin:0 auto;padding:0 16px 3rem;}

/* ---------- Barra di ricerca (in alto, non piu fissa) ---------- */
.searchBar{
    position:sticky; top:12px; z-index:40;
    width:100%;max-width:none;margin:1.5rem 0;padding:1rem 1.25rem;
    background:var(--card);border:1px solid var(--line);border-radius:14px;text-align:center;
    box-shadow:0 6px 24px rgba(0,0,0,.06);
}
.searchBar .searchIntro{margin:0 0 .7rem;color:var(--muted);font-size:.95rem;}
.searchBar form.searchControls{display:flex;gap:.5rem;flex-wrap:wrap;align-items:stretch;}
.searchBar #searchBarAnnunci{
    flex:2 1 220px;min-width:0;padding:.7rem .9rem;border:1px solid var(--line);border-radius:9px;font-size:1rem;
}
.searchBar select.filtro{
    flex:1 1 150px;min-width:0;padding:.7rem .8rem;border:1px solid var(--line);border-radius:9px;
    font-size:.95rem;background:#fff;cursor:pointer;
    -webkit-appearance:none;appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%23888' stroke-width='1.5'/></svg>");
    background-repeat:no-repeat;background-position:right .7rem center;padding-right:1.8rem;
}
.filtriChk{ display:none; }
.filtriToggle{ display:none; }  /* su desktop i filtri sono sempre visibili */
.searchBar input[type=submit]{
    flex:0 0 auto;padding:.7rem 1.3rem;border:none;border-radius:9px;background:var(--dark);color:#fff;
    font-size:.95rem;cursor:pointer;
}
.searchBar input[type=submit]:hover{background:#0f141a;}
.searchInfo{margin:.7rem 0 0;font-size:.9rem;color:var(--muted);}
.backToSearch{ display:none; }
.searchInfo a{color:var(--gold-d);}

/* ---------- Griglia annunci ---------- */
.postSec{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:1.25rem;align-items:stretch;border:none;margin:0;padding:0;width:auto;min-height:200px;
}
.postSec.loading{opacity:.5;transition:opacity .15s;}
.noResults{grid-column:1/-1;text-align:center;color:var(--muted);padding:2rem;}

/* ---------- Scheda singola ---------- */
.post{
    background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.5rem 1.25rem;
    display:flex;flex-direction:column;align-items:center;text-align:center;
    transition:box-shadow .2s ease, transform .2s ease;margin:0;height:100%;
}
.post .postSide{ display:flex; flex-direction:column; flex:1 1 auto; width:100%; }
.post .btnMessaggio{ margin-top:auto; }
.post:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px);}
.postSec .post img{
    width:120px;height:120px;object-fit:cover;object-position:center top;border-radius:50%;
    border:3px solid #f0ece1;margin:0 0 1rem;background:#eee;
}
.postSec .post img.default{ object-fit:contain;padding:4px;background:#fff; }
.post h3{font-family:var(--serif);font-size:1.25rem;margin:0 0 .35rem;line-height:1.25;}
.post h3 a{text-decoration:none;color:var(--dark);}
.post h3 span{display:block;font-size:.85rem;font-weight:400;color:var(--muted);margin-top:.15rem;}
.post .descr{
    display:block;overflow:visible;white-space:normal;
    color:#4a4a4a;font-size:.92rem;line-height:1.45;margin:.5rem 0 1rem;
}
.post .citta{display:block;color:var(--gold-d);font-size:.85rem;text-decoration:none;margin:.35rem 0 1rem;text-transform:uppercase;letter-spacing:.03em;}

/* ---------- Pulsanti ---------- */
.btnMessaggio,.btnEpigrafe,.btnWhatsapp,.btnFacebook,.btnLume{
    display:flex;align-items:center;justify-content:center;gap:.5rem;
    width:100%;max-width:340px;margin:.5rem auto;box-sizing:border-box;
    padding:.72rem 1rem;border-radius:10px;text-decoration:none;
    font-family:inherit;font-size:.95rem;line-height:1.2;text-align:center;cursor:pointer;
    border:1px solid transparent;
}
.btnMessaggio{background:var(--dark);color:#fff;}
.btnMessaggio:hover{background:#0f141a;}
.btnEpigrafe{background:#fff;color:var(--dark);border-color:var(--line);}
.btnEpigrafe:hover{background:#faf8f2;border-color:var(--gold);}
.btnWhatsapp{background:#25D366;color:#fff;}
.btnWhatsapp:hover{background:#1da851;}
.btnFacebook{background:#1877F2;color:#fff;}
.btnFacebook:hover{background:#0f66d0;}
/* Griglia 2x2 dei pulsanti azione (desktop e mobile) */
.annActions{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; max-width:520px; margin:.6rem auto .2rem; }
.annActions .btnMessaggio,.annActions .btnEpigrafe,.annActions .btnWhatsapp,.annActions .btnFacebook{
    width:auto; max-width:none; margin:0; height:100%;
}

/* ---------- Paginazione ---------- */
.pagination{
    display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;
    margin:2rem auto 0;padding:1rem;
}
.pagination a{color:var(--gold-d);text-decoration:none;font-weight:600;padding:.5rem .9rem;border:1px solid var(--line);border-radius:9px;background:#fff;}
.pagination a:hover{border-color:var(--gold);}
.pageInfo{color:var(--muted);font-size:.9rem;}

/* ---------- Pagina dettaglio ---------- */
.wrapperAnnunci .blockAnnuncio{
    max-width:760px;margin:1.5rem auto;background:var(--card);border:1px solid var(--line);
    border-radius:16px;padding:2.5rem 2rem;text-align:center;
}
.blockAnnuncio .imgAnnuncio{
    width:180px;height:180px;object-fit:cover;border-radius:50%;border:4px solid #f0ece1;margin-bottom:1.25rem;
}
.blockAnnuncio .imgAnnuncio.default{ object-fit:contain;padding:8px;background:#fff; }
.blockAnnuncio h2{font-family:var(--serif);font-size:2rem;margin:.25rem 0;color:var(--dark);}
.blockAnnuncio h3{font-weight:400;color:var(--muted);margin:0 0 1.25rem;font-size:1.05rem;}
.blockAnnuncio .descrizione{text-align:left;font-size:1.05rem;line-height:1.7;color:#3a3a3a;margin:1.25rem 0;}
.blockAnnuncio .luogo{color:var(--gold-d);font-weight:600;margin:1rem 0 1.5rem;}

/* ---------- Form condoglianze ---------- */
.formCommento{
    max-width:760px;margin:1.5rem auto;background:var(--card);border:1px solid var(--line);
    border-radius:16px;padding:2rem;
}
.formCommento h1{font-family:var(--serif);font-size:1.4rem;text-align:center;margin:0 0 1.5rem;color:var(--dark);line-height:1.35;}
.formCommento input:not([type=submit]):not([type=checkbox]),
.formCommento textarea{
    width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:9px;font-size:1rem;
    margin-bottom:.85rem;font-family:inherit;
}
.formCommento textarea{min-height:120px;resize:vertical;}
.formCommento input[type=submit]{
    width:100%;padding:.85rem;border:none;border-radius:9px;background:var(--gold);color:#fff;
    font-size:1rem;font-weight:600;cursor:pointer;
}
.formCommento input[type=submit]:hover{background:var(--gold-d);}
.hpField{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;}
.formEsito{text-align:center;margin:.75rem 0 0;font-size:.95rem;}
.formEsito.ok{color:#1a7f37;}
.formEsito.err{color:#b3261e;}

/* ---------- Elenco condoglianze ---------- */
#commenti{max-width:760px;margin:2rem auto;}
#commenti .partecipazione{text-align:center;color:var(--muted);font-style:italic;margin:1.5rem 0 .5rem;}
#commenti .commento{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem 1.25rem;margin-bottom:.85rem;}
#commenti .commento h3{margin:0 0 .35rem;font-family:var(--serif);font-size:1.05rem;color:var(--dark);}
.noCommenti{text-align:center;color:var(--muted);padding:1.5rem;}

/* ---------- Responsive ---------- */

/* ---- tablet ---- */
@media (max-width:768px){
    .postSec{ grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem; }
    .wrapperAnnunci{ padding:0 12px 2rem; }
    nav.mainNav .logoLink{ font-size:.82rem; }
    nav.mainNav a{ font-size:.85rem; }
}

@media (max-width:600px){
    body{padding-top:52px;}
    nav.mainNav{height:52px;padding:0 12px;}
    nav.mainNav .navLogo{height:30px;}
    .wrapperAnnunci{padding:0 12px 2rem;}
    .searchBar{position:static;padding:.8rem;margin:.8rem auto;box-shadow:none;}
    .searchBar .searchIntro{font-size:.85rem;margin-bottom:.5rem;}
    .searchBar form.searchControls{flex-direction:column;gap:.5rem;align-items:stretch;}
    .searchBar #searchBarAnnunci{flex:0 0 auto;width:100%;height:44px;box-sizing:border-box;}
    /* pulsante Filtri visibile solo su mobile */
    .filtriToggle{
        display:block;width:100%;text-align:center;cursor:pointer;
        height:44px;line-height:44px;padding:0;border:1px solid var(--line);border-radius:9px;background:#fff;
        font-size:.95rem;color:var(--dark);box-sizing:border-box;
    }
    .filtriToggle::before{content:"\2699  ";}
    /* filtri nascosti finché non si preme il pulsante; altezza NORMALE (fix Safari) */
    .searchBar select.filtro{
        display:none;width:100%;height:44px;min-height:44px;line-height:normal;
        padding:0 1.8rem 0 .8rem;box-sizing:border-box;flex:0 0 auto;
    }
    .filtriChk:checked ~ select.filtro{display:block;}
    .filtriChk:checked ~ .filtriToggle{background:#f3efe4;border-color:var(--gold);}
    .searchBar input[type=submit]{width:100%;height:46px;}

    /* Pulsante flottante sempre visibile: riporta in cima a ricerca+filtri */
    .backToSearch{
        position:fixed;right:16px;bottom:16px;z-index:60;
        width:52px;height:52px;border-radius:50%;
        background:var(--dark);color:#fff;border:none;cursor:pointer;
        box-shadow:0 6px 20px rgba(0,0,0,.28);
        display:flex;align-items:center;justify-content:center;font-size:1.3rem;
        text-decoration:none;
    }
    .backToSearch:hover{background:#0f141a;}
    .postSec{grid-template-columns:1fr;gap:1rem;}
    .blockAnnuncio{padding:1.5rem 1.25rem;}
    .blockAnnuncio h2{font-size:1.6rem;}
    .formCommento{padding:1.5rem 1.25rem;}
}

/* ---------- Footer + sottofooter ---------- */
.mainFooter{ text-align:center; padding:1.6rem 1rem .6rem; color:var(--muted); font-size:.9rem; border-top:1px solid var(--line); margin-top:2.5rem; }
.mainFooter p{ margin:.15rem 0; }
.subFooter{ font-size:.82rem; color:#9a958a; }
.subFooter a{ color:var(--gold-d); text-decoration:none; }
.subFooter a:hover{ text-decoration:underline; }

/* ---------- Lume / candela virtuale ---------- */
.lumeBox{ margin:0 auto .2rem; text-align:center; }
.btnLume{ background:#fff; color:var(--text); border-color:var(--line); transition:border-color .15s, box-shadow .15s, background .15s; }
.btnLume:hover{ border-color:var(--gold); box-shadow:0 3px 14px rgba(177,148,59,.18); }
.btnLume .lumeFlame{ display:inline-flex; }
.btnLume .lumeFlamePath{ fill:#c7ccd1; transition:fill .3s; }
.btnLume:hover .lumeFlamePath{ fill:#e6a23c; }
.btnLume.acceso{ cursor:default; border-color:var(--gold); background:#fbf7ee; }
.btnLume.acceso .lumeFlamePath{ fill:#f0a020; animation:lumeGlow 2.2s ease-in-out infinite; transform-origin:center bottom; }
.btnLume[disabled]{ opacity:1; }
.lumeCount{ margin:.5rem 0 0; font-size:.9rem; color:var(--muted); }
.lumeCount #lumeCount{ font-weight:700; color:var(--gold-d); }
@keyframes lumeGlow{
    0%,100%{ filter:drop-shadow(0 0 1px rgba(240,160,32,.5)); opacity:1; }
    50%{ filter:drop-shadow(0 0 5px rgba(240,160,32,.85)); opacity:.92; }
}
@media (prefers-reduced-motion: reduce){
    .btnLume.acceso .lumeFlamePath{ animation:none; }
}

/* ---------- Banner "bozza" sull'annuncio non pubblicato ---------- */
.bozzaBanner{
    background:#fff7e6; border:1px solid #f0d999; color:#8a6d1f;
    border-radius:10px; padding:.7rem 1rem; margin:0 0 1rem;
    font-size:.92rem; text-align:center;
}

/* ---------- Scroll morbido verso il form messaggio ---------- */
html{ scroll-behavior:smooth; }
#formCommento{ scroll-margin-top:72px; }

/* ---------- Riquadro iscrizione avvisi (home) ---------- */
.avvisiBox{
    max-width:none; margin:1.5rem 0; background:var(--card);
    border:1px solid var(--line); border-radius:14px; padding:1.5rem;
}
.avvisiBox h3{ font-family:var(--serif); color:var(--dark); margin:0 0 .4rem; font-size:1.25rem; }
.avvisiBox > p{ color:var(--muted); font-size:.95rem; margin:0 0 1rem; }
.avvisiForm{ display:flex; flex-wrap:wrap; gap:.6rem; }
.avvisiForm input[type=email]{ flex:2 1 220px; min-width:0; padding:.7rem .9rem; border:1px solid var(--line); border-radius:9px; font-size:1rem; }
.avvisiForm select{ flex:1 1 180px; min-width:0; padding:.7rem .9rem; border:1px solid var(--line); border-radius:9px; font-size:1rem; }
.avvisiForm button{ flex:0 0 auto; padding:.7rem 1.4rem; border:none; border-radius:9px; background:var(--dark); color:#fff; font-size:1rem; cursor:pointer; }
.avvisiForm button:hover{ background:#0f141a; }
.avvisiPrivacy{ flex:1 1 100%; display:flex; align-items:flex-start; gap:.5rem; font-size:.85rem; color:var(--muted); }
.avvisiPrivacy input{ margin-top:3px; }
.avvisiEsito{ margin:0 0 1rem; padding:.7rem .9rem; border-radius:9px; font-size:.92rem; }
.avvisiEsito.ok{ background:#e7f6ec; color:#1a7f37; }
.avvisiEsito.err{ background:#fdeceb; color:#b3261e; }

/* ---------- Pagina messaggio avvisi (conferma/disiscrizione) ---------- */
.avvisiMsg{ max-width:560px; margin:3rem auto; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:2rem 1.5rem; text-align:center; }
.avvisiMsg h1{ font-family:var(--serif); color:var(--dark); font-size:1.6rem; margin:0 0 .8rem; }
.avvisiMsg p{ color:#3a3a3a; margin:0 0 1.4rem; line-height:1.6; }
.avvisiMsg .btnMessaggio{ display:inline-flex; width:auto; }

@media (max-width:640px){
    .avvisiForm input[type=email], .avvisiForm select, .avvisiForm button{ flex:1 1 100%; }
}

/* ---------- Banner avvisi (in cima alla home) — sottile ed elegante ---------- */
.avvisiBanner{
    display:flex; align-items:center; gap:.5rem;
    max-width:none; margin:0 0 .9rem; padding:.3rem .5rem .3rem .85rem;
    background:#fcfaf4; border:1px solid #ece0c4; border-radius:9px;
}
.avvisiBannerLink{
    display:flex; align-items:center; gap:.5rem; flex:1 1 auto; min-width:0;
    text-decoration:none; color:var(--text);
}
.avvisiBannerIcon{ flex:0 0 auto; display:inline-flex; color:var(--gold-d); }
.avvisiBannerTxt{ font-size:.85rem; line-height:1.3; color:#5a5751; }
.avvisiBannerCta{
    flex:0 0 auto; margin-left:auto; white-space:nowrap;
    color:var(--gold-d); font-size:.85rem; font-weight:600;
}
.avvisiBannerCta::after{ content:" \2192"; }
.avvisiBannerLink:hover .avvisiBannerCta{ text-decoration:underline; }
.avvisiBannerClose{
    flex:0 0 auto; background:none; border:none; cursor:pointer;
    color:#b3aea3; font-size:1.15rem; line-height:1; padding:0 .25rem; opacity:.7;
}
.avvisiBannerClose:hover{ opacity:1; }
@media (max-width:640px){
    .avvisiBanner{ padding:.3rem .45rem .3rem .7rem; }
    .avvisiBannerTxt{ font-size:.8rem; }
    .avvisiBannerCta{ font-size:.8rem; }
}
