/* La testata e il piede di tutte le pagine pubbliche, home compresa (forum.sito.pagine:
   nav_pubblica, piede_pubblico): quelli della home dell'artifact del 21/10, uguali ovunque
   (richiesta dell'utente del 22/10/2026). Classi pub- per non toccare il resto del sito. */
.pub-wrap { max-width: 1180px; margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
.pub-nav { position: sticky; top: 0; z-index: 30; background: rgba(255, 255, 255, .86); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid #E6E7E3; font-family: "Geist", "Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif; }
.pub-nav .pub-wrap { display: flex; align-items: center; gap: 28px; height: 64px; }
.pub-logo { display: flex; align-items: center; gap: 9px; font-weight: 600; font-size: 19px; letter-spacing: -0.02em; color: #111312; text-decoration: none; }
.pub-logo:hover { color: #111312; text-decoration: none; }
.pub-logo svg { width: 22px; height: 22px; }
.pub-nav ul { display: flex; gap: 26px; list-style: none; margin: 0; padding: 0; font-size: 14.5px; }
.pub-nav ul a { color: #4B5150; text-decoration: none; }
.pub-nav ul a:hover, .pub-nav ul a[aria-current] { color: #111312; text-decoration: none; }
.pub-azioni { margin-left: auto; display: flex; gap: 10px; }
.pub-btn { display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 16px; border-radius: 8px; border: 1px solid transparent; font: 500 14.5px "Geist", "Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif; text-decoration: none; white-space: nowrap; }
.pub-btn.nero, .pub-btn.nero:hover { background: #111312; color: #fff; text-decoration: none; }
.pub-btn.nero:hover { background: #2A2E2D; }
.pub-btn.bordo, .pub-btn.bordo:hover { border-color: #D5D7D2; background: #fff; color: #111312; text-decoration: none; }
.pub-btn.bordo:hover { border-color: #8A8F8D; }
.pub-nav a:focus-visible, .pub-piede a:focus-visible { outline: 2px solid #0B6E4F; outline-offset: 2px; }
@media (max-width: 860px) { .pub-nav ul, .pub-nav .accedi { display: none; } }

.pub-piede { margin-top: 64px; font-family: "Geist", "Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif; }
.pub-piede .pub-wrap { padding-block: 40px; border-top: 1px solid #E6E7E3; display: grid; gap: 14px; font-size: 14px; color: #4B5150; }
.pub-piede-1 { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; }
.pub-piede .pub-logo { font-size: 17px; }
.pub-piede nav { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.pub-piede a { color: #4B5150; text-decoration: none; }
.pub-piede a:hover { color: #111312; }
.pub-prezzo { margin-left: auto; color: #8A8F8D; }
.pub-prezzo b { color: #111312; font-weight: 500; }
.pub-piede p { margin: 0; max-width: none; font-size: 12.5px; color: #8A8F8D; line-height: 1.6; }
.pub-piede p a { color: #8A8F8D; text-decoration: underline; text-underline-offset: .15em; }
/* Più forti dei link del tema del sito (body.caldo a). */
.pub-nav a.pub-logo, .pub-piede a.pub-logo, .pub-nav a.pub-logo:hover, .pub-piede a.pub-logo:hover { color: #111312; }
.pub-piede .pub-wrap a { color: #4B5150; text-decoration: none; }
.pub-piede .pub-wrap a:hover { color: #111312; }
.pub-piede .pub-wrap p a { color: #8A8F8D; text-decoration: underline; text-underline-offset: .15em; }
