/* Area riservata Casa Valguarnera: stessi colori del sito, interfaccia semplice e leggibile. */
:root{
  --carta:#F8F6ED; --carta-scura:#EFEADB; --bianco:#FFFDF7;
  --inchiostro:#1E1C18; --seppia:#5E574A; --filo:#D6CEB9;
  --grano:#A9823A; --oliva:#4A5430; --oliva-chiaro:#E7EBD8;
  --rosso:#9B2C1F; --rosso-chiaro:#F7E3DE;
  --testo:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
@font-face{font-family:"Source Serif 4";src:url(../../themes/casavalguarnera/assets/fonts/source-serif-4-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../../themes/casavalguarnera/assets/fonts/source-serif-4-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"IM Fell English";src:url(../../themes/casavalguarnera/assets/fonts/im-fell-english-latin-400-normal.woff2) format("woff2");font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--carta)}
body{margin:0;background:var(--carta);color:var(--inchiostro);font-family:var(--sans);font-size:17px;line-height:1.55}
a{color:var(--oliva)}
:focus-visible{outline:3px solid var(--grano);outline-offset:2px}
main img{max-width:100%;height:auto;display:block}

.cvg-contenitore{max-width:62rem;margin:0 auto;padding:0 16px}
main.cvg-contenitore{padding-top:2rem;padding-bottom:4rem}
main.stretta{max-width:28rem}

/* Testata */
.cvg-testata{background:var(--inchiostro);color:#F3EEDF}
.cvg-testata .cvg-contenitore{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;min-height:3.75rem;padding-top:.5rem;padding-bottom:.5rem}
.cvg-marchio{color:#F3EEDF;text-decoration:none;font-family:"IM Fell English",Georgia,serif;font-size:1.45rem;line-height:1.1}
.cvg-marchio span{font-family:var(--sans);font-size:.85rem;color:#CFC6AE;margin-left:.5rem;letter-spacing:.02em}
.cvg-utente{display:flex;gap:1.1rem;align-items:center;font-size:.95rem;flex-wrap:wrap}
.cvg-utente span{color:#CFC6AE}
.cvg-utente a{color:#F3EEDF}

/* Titoli */
h1{font-family:var(--testo);font-weight:600;font-size:clamp(1.6rem,4vw,2.1rem);line-height:1.2;margin:.25rem 0 .4rem}
h2{font-family:var(--testo);font-weight:600;font-size:1.25rem;margin:0 0 .9rem}
.sottotitolo{color:var(--seppia);margin:0 0 2rem}
.briciole{font-size:.95rem;color:var(--seppia);margin-bottom:.4rem}
.briciole a{color:var(--seppia)}

/* Pulsanti */
.bottone{display:inline-block;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;text-align:center;
  background:var(--oliva);color:#fff;border:2px solid var(--oliva);border-radius:6px;padding:.7rem 1.3rem;min-height:48px}
.bottone:hover{background:var(--inchiostro);border-color:var(--inchiostro);color:#fff}
.bottone.semplice{background:var(--bianco);color:var(--inchiostro);border-color:var(--inchiostro)}
.bottone.semplice:hover{background:var(--inchiostro);color:#fff}
.bottone.pericolo{background:var(--rosso);border-color:var(--rosso)}
.annulla{color:var(--seppia);padding:.7rem .4rem}

/* Avvisi */
.avviso{border-left:5px solid var(--grano);background:var(--bianco);padding:.8rem 1rem;margin:0 0 1.5rem;border-radius:0 6px 6px 0}
.avviso p{margin:.2rem 0}
.avviso ul{margin:.4rem 0 .2rem;padding-left:1.25rem}
.avviso.ok{border-color:var(--oliva);background:var(--oliva-chiaro)}
.avviso.errore{border-color:var(--rosso);background:var(--rosso-chiaro)}

/* Accesso */
.accesso{background:var(--bianco);border:1px solid var(--filo);border-radius:10px;padding:1.5rem}
.introduzione{color:var(--seppia);margin-top:0}
.piccolo{font-size:.95rem;margin-bottom:0}
.spunta label{display:flex;gap:.5rem;align-items:center;font-weight:400}
.spunta input{width:1.2rem;height:1.2rem}
.accesso .bottone{width:100%}

/* Campi */
main label{display:block;font-weight:600;margin-bottom:.35rem}
main .campo > input,main .campo > select,main .campo > textarea,main .campo-nuova-categoria input,main .cerca input[type=search],main .accesso input[type=text],main .accesso input[type=password]{
  width:100%;font:inherit;color:var(--inchiostro);background:#fff;border:1px solid #B9B09A;border-radius:6px;padding:.65rem .75rem;min-height:48px}
main .campo > input:focus,main .campo > select:focus,main .campo > textarea:focus,main .campo-nuova-categoria input:focus,main .cerca input:focus,main .accesso input:focus{border-color:var(--oliva);outline:3px solid var(--oliva-chiaro);outline-offset:0}
.aiuto{display:block;color:var(--seppia);font-size:.92rem;margin-top:.3rem}
.obbligatorio{font-weight:400;font-size:.85rem;color:var(--seppia);margin-left:.35rem}
.campo{margin:0 0 1.2rem}

/* Menu iniziale */
.gruppo{margin-bottom:2.25rem}
.voci{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.85rem}
.voci a{display:block;height:100%;text-decoration:none;color:var(--inchiostro);background:var(--bianco);border:1px solid var(--filo);border-radius:8px;padding:1rem 1.1rem}
.voci .attiva a{border-color:var(--oliva);border-width:2px;box-shadow:0 2px 0 var(--oliva)}
.voci a:hover{border-color:var(--inchiostro)}
.titolo-voce{display:block;font-family:var(--testo);font-weight:600;font-size:1.15rem}
.descrizione-voce{display:block;color:var(--seppia);font-size:.95rem;margin-top:.2rem}
.stato-voce{display:inline-block;margin-top:.6rem;font-size:.82rem;color:var(--seppia);background:var(--carta-scura);border-radius:999px;padding:.1rem .6rem}
.in-arrivo a{background:transparent}

/* Elenco schede */
.barra-azioni{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1rem 0 1.5rem}
.conteggio{color:var(--seppia)}
.vuoto{background:var(--bianco);border:1px dashed var(--filo);border-radius:8px;padding:1.5rem;color:var(--seppia)}
.elenco-schede{list-style:none;margin:0;padding:0;border-top:1px solid var(--filo)}
.scheda{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--filo)}
.miniatura img,.miniatura .senza-foto{width:72px;height:72px;object-fit:cover;border-radius:6px;background:var(--carta-scura);display:block}
.nome{font-family:var(--testo);font-weight:600;font-size:1.15rem;color:var(--inchiostro);text-decoration:none}
.nome:hover{text-decoration:underline}
.sotto{display:block;color:var(--seppia);font-size:.95rem}
.stati{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.35rem}
.stato{font-size:.82rem;border-radius:999px;padding:.1rem .6rem;background:var(--carta-scura);color:var(--seppia)}
.stato.pubblicata,.stato.completa{background:var(--oliva-chiaro);color:var(--oliva)}
.stato.incompleta{background:var(--rosso-chiaro);color:var(--rosso)}
.comandi{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end}
.comandi a{white-space:nowrap}
.comandi .pericolo{color:var(--rosso)}
@media (max-width:640px){
  .scheda{grid-template-columns:56px minmax(0,1fr)}
  .miniatura img,.miniatura .senza-foto{width:56px;height:56px}
  .comandi{grid-column:1 / -1;justify-content:flex-start}
}

/* Modulo */
.modulo fieldset{border:1px solid var(--filo);border-radius:10px;background:var(--bianco);padding:1.25rem 1.25rem .5rem;margin:0 0 1.5rem}
.modulo legend{font-family:var(--testo);font-weight:600;font-size:1.2rem;padding:0 .4rem}
.foto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}
@media (max-width:720px){.foto{grid-template-columns:1fr}}
.posto-foto{border:2px dashed #B9B09A;border-radius:8px;padding:.75rem;background:#fff}
.posto-foto.piena{border-style:solid;border-color:var(--oliva)}
.numero{display:block;font-weight:600;margin-bottom:.5rem}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Formato: due icone del telefono */
.modulo fieldset.formato{display:flex;gap:.5rem;border:0;background:none;padding:0;margin:0 0 .75rem}
.posto-foto{container-type:inline-size;min-width:0}
.scelta-formato{position:relative;flex:1 1 0;min-width:0;margin:0;font-weight:400;cursor:pointer}
@container (max-width:250px){
  .icona-formato{justify-content:center;gap:.3rem;padding:.35rem .3rem}
  .nome-formato{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .icona-formato small{font-size:.85rem}
}
.scelta-formato input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.icona-formato{display:flex;align-items:center;gap:.45rem;min-height:48px;padding:.35rem .55rem;border:2px solid var(--filo);border-radius:6px;background:var(--bianco);color:var(--seppia);font-size:.9rem;line-height:1.15}
.icona-formato svg{flex:none}
.icona-formato small{display:block;font-size:.8rem}
.scelta-formato:hover .icona-formato{border-color:var(--inchiostro)}
.scelta-formato input:checked + .icona-formato{border-color:var(--oliva);background:var(--oliva-chiaro);color:var(--oliva);font-weight:600}
.scelta-formato input:focus-visible + .icona-formato{outline:3px solid var(--grano);outline-offset:2px}

/* Cornice d'inquadratura: la foto si trascina dentro */
.cornice{position:relative;overflow:hidden;background:var(--carta-scura);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--seppia);font-size:.95rem;width:100%;aspect-ratio:16/9;margin:0 auto;touch-action:none;user-select:none;-webkit-user-select:none}
.cornice.verticale{aspect-ratio:9/16;width:56.25%}
.cornice img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:grab;-webkit-user-drag:none;pointer-events:none}
.cornice:has(img){cursor:grab}
.cornice.in-movimento,.cornice.in-movimento img{cursor:grabbing}
.cornice:focus-visible{outline:3px solid var(--grano);outline-offset:2px}
.cornice:has(img)::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);border-radius:6px}
.suggerimento{font-size:.88rem;color:var(--seppia);margin:.5rem 0 0;line-height:1.35}
.suggerimento .centra{font:inherit;color:var(--oliva);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.scegli{position:relative;margin:.75rem 0 0;font-weight:600}
.scegli span{display:block;text-align:center;border:2px solid var(--inchiostro);border-radius:6px;padding:.55rem;cursor:pointer;background:var(--bianco)}
.scegli:hover span{background:var(--inchiostro);color:#fff}
.scegli input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.scegli input:focus-visible + span,.scegli:focus-within span{outline:3px solid var(--grano);outline-offset:2px}
.rimuovi{font-weight:400;font-size:.95rem;margin-top:.6rem;display:flex;gap:.4rem;align-items:center}
.pulsanti{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.conferma{background:var(--bianco);border:1px solid var(--filo);border-radius:10px;padding:1.5rem;max-width:36rem}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Editor di WordPress */
.aiuto-sopra{margin:-.1rem 0 .6rem}
.campo .wp-editor-wrap{border:1px solid #B9B09A;border-radius:6px;overflow:hidden;background:#fff}
.campo .wp-editor-tools{background:var(--carta-scura);padding:.4rem .5rem 0}
.campo .wp-media-buttons .button{min-height:36px}
.campo .wp-editor-container{border:0}
.campo .wp-editor-area{font-family:var(--testo);font-size:17px;line-height:1.6;border:0;padding:.75rem}
.campo .mce-toolbar-grp{background:#FBF9F2}
.campo .wp-switch-editor{min-height:auto}

/* Notizie */
main .campo > textarea{min-height:auto;line-height:1.5;resize:vertical}
.campi-affiancati{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.25rem}
@media (max-width:640px){.campi-affiancati{grid-template-columns:1fr}}
.campo-nuova-categoria{display:block;margin-top:.5rem}
.campo-nuova-categoria[hidden],.suggerimento[hidden]{display:none}
.campo.spunta label{font-weight:400}
.stato.programmata{background:#FFF1D6;color:#7A5410}
.stato.evidenza{background:var(--inchiostro);color:#F3EEDF}
.foto-singola{grid-template-columns:minmax(0,24rem)}
.cerca{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-left:auto}
.cerca input[type=search]{width:auto;min-width:14rem}
.cerca .bottone{min-height:48px;padding:.5rem 1rem}
.pagine{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:1.5rem;color:var(--seppia)}
