/* Caratteri ospitati sul sito: nessun dato inviato a server esterni */
@font-face{font-family:"Bodoni Moda";src:url("../fonts/bodoni-moda.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url("../fonts/bodoni-moda-italic.woff2") format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Albert Sans";src:url("../fonts/albert-sans.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

/* Accessibilità */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--brass);color:var(--bg);padding:10px 16px;text-decoration:none;font-size:14px}
.skip-link:focus{top:12px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Piè di pagina, identico su tutte le pagine */
.site-footer{position:relative;z-index:1;padding:50px clamp(20px,6vw,96px) 40px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);display:grid;grid-template-columns:1fr auto;gap:30px;background:var(--bg)}
.site-footer p{margin:0 0 6px;max-width:60em}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:hover{color:var(--ink)}
.site-footer .f-nav{display:flex;flex-wrap:wrap;gap:10px 22px;align-content:start;justify-content:flex-end}
.site-footer .f-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px}
.site-footer .brand{margin-bottom:22px}
.site-footer .brand .role{display:block;margin-top:6px}
@media (max-width:820px){.site-footer{grid-template-columns:1fr}.site-footer .f-nav{justify-content:flex-start}}

/* Contenuti scritti in WordPress (articoli e pagine) */
.body img,.body video,.body iframe{max-width:100%;height:auto}
.body figure{margin:2em 0}
.body figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.body a{color:var(--brass);text-decoration:underline;text-underline-offset:3px}
.body h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.1vw,27px);margin:1.8em 0 .6em}
.body table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:16px;display:block;overflow-x:auto}
.body th,.body td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.body ol{padding-left:1.3em;margin:0 0 1.4em}
.body .wp-block-image{margin:2em 0}
.body .alignwide,.body .alignfull{max-width:100%}

/* Impaginazione dell'elenco articoli */
.pagination{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 120px}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border:1px solid var(--line);color:var(--muted);text-decoration:none;font-size:14px}
.pagination .current{border-color:var(--brass);color:var(--brass)}
.pagination a:hover{color:var(--ink)}
.empty{color:var(--muted);padding:0 0 120px}

/* Calendario della pagina di prenotazione */
.cal.loaded{display:block;padding:0;min-height:640px;background:transparent}
.cal.loaded .demo-note,.cal.loaded .medal,.cal.loaded h3,.cal.loaded p,.cal.loaded .btn{display:none}
#cal-inline{width:100%;min-height:640px}
.cal .cal-note{font-size:13px;color:var(--muted);max-width:26em;margin:4px auto 0}

/* Moduli di contatto eventualmente presenti in altre pagine */
.body input[type=text],.body input[type=email],.body input[type=tel],.body textarea{width:100%;background:transparent;border:1px solid var(--line);color:var(--ink);padding:12px 14px;font:inherit}
.body input[type=submit],.body button[type=submit]{min-height:46px;padding:0 24px;border:1px solid var(--brass);background:none;color:var(--ink);font:inherit;cursor:pointer}

/* Intestazione: elementi comuni a tutte le pagine */
.nav-r{display:flex;align-items:center;gap:12px}
.btn.small{min-height:42px;padding:0 18px;font-size:14px}
.menu .btn{margin-top:30px;align-self:flex-start}
.brand .mono.needle{width:26px;height:45px}
@media (max-width:560px){.nav .btn.small{display:none}}

/* Filtri per argomento del blog (collegamenti alle categorie) */
.filters a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--line);color:var(--muted);text-decoration:none;font-size:14px;transition:border-color .3s,color .3s}
.filters a:hover{color:var(--ink)}
.filters a[aria-current="page"]{border-color:var(--brass);color:var(--brass)}
.b-head p.desc{margin-top:14px}
