/* ==========================================================================
   U.S. Nave — Homepage (Fase 1). Blu/bianco/verde, Anton+Poppins.
   Rendered by the vanilla-usnave/homepage block. Variant via body class
   (.usnave-home-v1 / -v2 / -v5). Fonts from assets/fonts/fonts.css.
   Responsive: desktop › ≤1080 tablet-L › ≤900 tablet-P (burger) › ≤680 › ≤560 › ≤380.
   ========================================================================== */
:root {
  --blue: #1466D8; --blue-bright: #2E86FF; --navy: #0A2647; --navy-2: #0B3B8C;
  --green: #17C964; --green-2: #12A455;
  --paper: #FFFFFF; --off: #F4F8FD; --mist: #E8F0FA;
  --ink: #0C1B2E; --steel: #5A6B7E; --steel-2: #8A99A8;
  --line-dk: rgba(12,27,46,.10); --line-lt: rgba(255,255,255,.12);
  --maxw: 1200px; --ease: cubic-bezier(.22,.61,.36,1);
}
.usnave-home * { box-sizing: border-box; }
.usnave-home { margin: 0; background: var(--paper); color: var(--ink);
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 17px; line-height: 1.62; -webkit-font-smoothing: antialiased; overflow-x: clip; }
/* clip anche su html: i reveal .rt/.lf partono traslati ±34px e su mobile è
   l'html a scrollare, quindi overflow-x sul solo body non basta (gap bianco). */
html.usnave-home-scroll { scroll-behavior: smooth; scroll-snap-type: y proximity; scroll-padding-top: 66px; overflow-x: clip; }
.usnave-home h1, .usnave-home h2, .usnave-home h3, .usnave-home h4 { margin: 0; font-weight: 400; line-height: 1; }
.usnave-home p { margin: 0; }
/* i link ereditano il colore del contenitore, MA i bottoni no (altrimenti
   .usnave-home a [0,1,1] batte .uh-btn-white [0,1,0] → testo bianco su bianco) */
.usnave-home a:not([class*="uh-btn"]) { color: inherit; text-decoration: none; }
.usnave-home a[class*="uh-btn"] { text-decoration: none; }
/* azzera i margin block-gap di WP sui blocchi top-level della home: evita le
   strisce bianche (body bianco) sopra l'header fisso e prima del footer */
.usnave-home .wp-site-blocks > * { margin-block: 0; }
.usnave-home img { max-width: 100%; display: block; }
.uh-display { font-family: "Anton", Impact, sans-serif; text-transform: uppercase; letter-spacing: .005em; line-height: .94; }
.uh-wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 28px; }
.uh-eyebrow { font-size: .76rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.usnave-home :focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; border-radius: 5px; }
/* niente ring UA bianco al click col mouse; l'outline blu resta per tastiera (a11y) */
.usnave-home :focus:not(:focus-visible) { outline: none; }

/* buttons */
.uh-btn { display: inline-flex; align-items: center; gap: .5em; font-weight: 600; font-size: .9rem;
  padding: .85em 1.5em; border-radius: 999px; text-transform: uppercase; letter-spacing: .04em; cursor: pointer;
  border: 1.5px solid transparent; transition: transform .16s var(--ease), filter .16s, background .16s, color .16s; white-space: nowrap; }
.uh-btn:hover { transform: translateY(-2px); }
.uh-btn-blue { background: var(--blue); color: #fff; box-shadow: 0 10px 22px rgba(20,102,216,.3); }
.uh-btn-blue:hover { filter: brightness(1.07); }
.uh-btn-green { background: var(--green); color: #04220f; box-shadow: 0 10px 22px rgba(23,201,100,.28); }
.uh-btn-green:hover { filter: brightness(1.05); }
.uh-btn-white { background: #fff; color: var(--navy); }
.uh-btn-white:hover { background: var(--ink); color: #fff; }
.uh-btn-ghost-d { border-color: var(--line-dk); color: var(--ink); }
.uh-btn-ghost-d:hover { border-color: var(--blue); color: var(--blue); }
.uh-btn-ghost-l { border-color: rgba(255,255,255,.4); color: #fff; }
.uh-btn-ghost-l:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.uh-btn .arw { transition: transform .18s; }
.uh-btn:hover .arw { transform: translateX(3px); }
.uh-tag { display: inline-flex; align-items: center; gap: 7px; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.uh-gdot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.uh-grain { position: absolute; inset: 0; opacity: .06; pointer-events: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); }

/* header */
.uh-header { position: fixed; top: 0; left: 0; right: 0; z-index: 60; transition: background .3s, backdrop-filter .3s, box-shadow .3s, padding .3s, color .3s; padding: 16px 0; }
/* offset per la admin-bar di WordPress (solo da loggato): senza, l'header fisso/
   sticky finisce SOTTO la barra da 32px e taglia il logo. Vale anche per l'header
   sticky delle pagine interne (stesso `top`). Live/logout: nessuna admin-bar → top:0. */
.admin-bar .uh-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .uh-header { top: 46px; } }
.uh-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.uh-brand { display: flex; align-items: center; gap: 11px; }
.uh-brand img { height: 46px; width: auto; filter: drop-shadow(0 4px 10px rgba(0,0,0,.2)); }
.uh-brand .bt { font-family: "Anton"; text-transform: uppercase; font-size: 1.1rem; line-height: 1; letter-spacing: .02em; }
.uh-brand .bs { font-size: .58rem; letter-spacing: .24em; text-transform: uppercase; font-weight: 600; opacity: .62; }
.uh-menu { display: flex; gap: 26px; list-style: none; margin: 0; padding: 0; }
.uh-menu a { font-size: .82rem; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; position: relative; padding: 5px 0; }
.uh-menu a::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: var(--green); transition: width .25s; }
.uh-menu > li > a:hover::after { width: 100%; }
/* dropdown submenu (desktop) */
.uh-menu > li { position: relative; }
.uh-cv { display: inline-block; width: 5px; height: 5px; margin-left: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); opacity: .6; transition: transform .2s; }
.uh-menu li.has-sub:hover .uh-cv, .uh-login-wrap:hover .uh-cv { transform: translateY(1px) rotate(-135deg); }
.uh-login-wrap { position: relative; display: flex; align-items: center; }
.uh-submenu { position: absolute; top: 100%; left: -14px; margin: 10px 0 0; padding: 8px; min-width: 224px; list-style: none;
  background: #0a2647; border: 1px solid var(--line-lt); border-radius: 14px; box-shadow: 0 22px 44px rgba(0,0,0,.42);
  display: flex; flex-direction: column; gap: 2px; z-index: 80;
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s; }
.uh-submenu-right { left: auto; right: 0; }
.uh-submenu::before { content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px; } /* ponte hover */
.uh-menu li.has-sub:hover > .uh-submenu, .uh-login-wrap:hover > .uh-submenu { opacity: 1; visibility: visible; transform: none; }
.uh-submenu li { position: static; }
.uh-submenu a { display: block; padding: 9px 12px; font-size: .82rem; font-weight: 500; letter-spacing: 0; text-transform: none;
  color: rgba(255,255,255,.85); border-radius: 9px; white-space: nowrap; }
.uh-submenu a::after { display: none; }
.uh-submenu a:hover { background: rgba(255,255,255,.07); color: var(--green); }
.uh-navwrap { display: flex; align-items: center; gap: 22px; }
.uh-navdiv { width: 1px; height: 20px; background: currentColor; opacity: .22; }
.uh-login { display: inline-flex; align-items: center; gap: 7px; font-size: .8rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: inherit; transition: color .2s; }
.uh-login svg { transition: transform .2s; }
.uh-login:hover { color: var(--green); }
.uh-login:hover svg { transform: scale(1.12); }
.uh-tlight { color: var(--ink); }
.uh-tlight .bs { color: var(--steel); }
.uh-tdark { color: #fff; }
.uh-tdark .uh-menu a { color: rgba(255,255,255,.85); }
.uh-tdark .bs { color: rgba(255,255,255,.62); }
.uh-header.scrolled { background: rgba(9,20,34,.9); backdrop-filter: blur(14px) saturate(1.2); box-shadow: 0 1px 0 var(--line-lt); padding: 9px 0; color: #fff; }
.uh-header.scrolled .uh-brand { color: #fff; }
.uh-header.scrolled .uh-brand .bs { color: rgba(255,255,255,.62); }
.uh-header.scrolled .uh-menu a { color: rgba(255,255,255,.85); }
.uh-burger { display: none; flex-direction: column; gap: 5px; background: none; border: 0; cursor: pointer; padding: 8px; z-index: 70; color: inherit; }
.uh-burger span { width: 26px; height: 2.5px; background: currentColor; border-radius: 2px; transition: transform .3s, opacity .3s; }
.uh-mobile-menu { position: fixed; inset: 0; z-index: 65; background: linear-gradient(160deg,#082044,#0a2a5e); color: #fff; display: flex; flex-direction: column; justify-content: flex-start; overflow-y: auto; padding: 92px 34px 40px; transform: translateY(-100%); transition: transform .4s var(--ease); gap: 2px; }
body.uh-nav-open { overflow: hidden; }
body.uh-nav-open .uh-mobile-menu { transform: none; }
.uh-mobile-menu a.ml { font-family: "Anton"; text-transform: uppercase; font-size: 1.5rem; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.12); display: flex; align-items: center; gap: 12px; color: #fff; }
.uh-mobile-menu a.ml:hover { color: var(--green); }
/* accordion mobile */
.uh-mclose { display: none; position: absolute; top: 24px; right: 26px; width: 42px; height: 42px; padding: 0; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 50%; cursor: pointer; z-index: 72; transition: background .25s, transform .25s; }
.uh-mclose span { position: absolute; top: 50%; left: 50%; width: 20px; height: 2.5px; background: #fff; border-radius: 2px; }
.uh-mclose span:nth-child(1) { transform: translate(-50%,-50%) rotate(45deg); }
.uh-mclose span:nth-child(2) { transform: translate(-50%,-50%) rotate(-45deg); }
.uh-mclose:hover { background: var(--green); transform: rotate(90deg); }
body.uh-nav-open .uh-mclose { display: block; }
.uh-macc { border-bottom: 1px solid rgba(255,255,255,.12); }
.uh-macc-t { width: 100%; display: flex; align-items: center; justify-content: space-between; background: none; border: 0; cursor: pointer;
  color: #fff; font-family: "Anton"; text-transform: uppercase; font-size: 1.5rem; padding: 13px 0; }
.uh-macc-t .chev { width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s; opacity: .7; }
.uh-macc.open .uh-macc-t .chev { transform: rotate(-135deg); }
.uh-macc-p { display: none; flex-direction: column; padding: 4px 0 12px 16px; }
.uh-macc.open .uh-macc-p { display: flex; }
.uh-macc-p a { color: rgba(255,255,255,.82); padding: 9px 0; font-size: 1rem; }
.uh-macc-p a:hover { color: var(--green); }
.uh-mobile-menu .uh-btn { margin-top: 22px; align-self: flex-start; }
body.uh-nav-open .uh-burger span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
body.uh-nav-open .uh-burger span:nth-child(2) { opacity: 0; }
body.uh-nav-open .uh-burger span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

/* reveal */
.uh-reveal { opacity: 0; transform: translateY(26px); transition: opacity .55s var(--ease), transform .55s var(--ease); }
.uh-reveal.lf { transform: translateX(-34px); }
.uh-reveal.rt { transform: translateX(34px); }
.uh-reveal.zm { transform: scale(.94); }
.uh-reveal.in { opacity: 1; transform: none; }
.uh-reveal.d1 { transition-delay: .07s; } .uh-reveal.d2 { transition-delay: .14s; }
.uh-reveal.d3 { transition-delay: .21s; } .uh-reveal.d4 { transition-delay: .28s; }
/* Hero intro: the heading is the LCP element, so keep it painted immediately
   (opacity:1) and animate only the transform. Previously it was opacity:0 until
   JS added `usnave-loaded` on window.load — i.e. after every image finished —
   which pushed LCP out to ~full page load. */
.uh-hin { opacity: 1; transform: translateY(18px); transition: transform .55s var(--ease); }
body.usnave-loaded .uh-hin { transform: none; }

.uh-snap { scroll-snap-align: start; }
.usnave-home section { position: relative; }
.uh-pad { padding: 100px 0; } .uh-pad-sm { padding: 74px 0; }
.uh-sec-head { max-width: 640px; margin-bottom: 46px; }
.uh-sec-head.center { margin: 0 auto 46px; text-align: center; }
.uh-sec-head h2 { font-family: "Anton"; text-transform: uppercase; font-size: clamp(2.1rem,4.6vw,3.4rem); margin: .26em 0 .28em; line-height: .96; }
.uh-sec-head p { color: var(--steel); font-size: 1.04rem; }

/* hero shared */
.uh-hero { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; }
.uh-hero .uh-wrap { width: 100%; position: relative; z-index: 2; will-change: transform, opacity; }
.uh-stat-row { display: flex; gap: 30px; flex-wrap: wrap; }
.uh-stat-row .n { font-family: "Anton"; font-size: 1.9rem; line-height: 1; font-variant-numeric: tabular-nums; }
.uh-stat-row .l { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; opacity: .72; }

/* Heading colors — esplicite per battere theme.json (heading = navy) nei contesti scuri */
.uh-hero.v1 h1 { color: var(--navy); }
.uh-hero.v2 h1, .uh-hero.v5 h1 { color: #fff; }
.uh-cc h3 { color: #fff; }
.uh-aslide h3 { color: #fff; }
.uh-shop .l h2 { color: #fff; }
.uh-ctaband h2 { color: #fff; }
.uh-sec-head h2 { color: var(--navy); }
.uh-race .info h3, .uh-ncard .bd h3 { color: var(--ink); }

/* HERO 1 light */
.uh-hero.v1 { background: radial-gradient(120% 80% at 100% 0, var(--mist), transparent 55%), var(--paper); }
.uh-hero.v1 .grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; padding-top: 80px; }
.uh-hero.v1 h1 { font-size: clamp(2.8rem,6vw,5.6rem); color: var(--navy); }
.uh-hero.v1 h1 .u { color: var(--blue); position: relative; white-space: nowrap; }
.uh-hero.v1 h1 .u::after { content: ""; position: absolute; left: 0; right: 0; bottom: .07em; height: .13em; background: var(--green); border-radius: 3px; }
.uh-hero.v1 .lead { color: var(--steel); font-size: 1.14rem; max-width: 36ch; margin: 24px 0 28px; }
.uh-hero.v1 .acts { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 34px; }
.uh-photo { position: relative; border-radius: 22px; overflow: hidden; box-shadow: 0 30px 66px rgba(10,38,71,.22); aspect-ratio: 4/4.2; }
.uh-photo > img { width: 100%; height: 100%; object-fit: cover; }
.uh-photo .cut { position: absolute; left: 0; top: 0; background: var(--green); color: #04220f; font-weight: 700; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; padding: .55em 1em; border-bottom-right-radius: 14px; }
.uh-photo .float { position: absolute; left: 18px; right: 18px; bottom: 18px; background: rgba(255,255,255,.95); border-radius: 15px; padding: 15px 17px; display: flex; align-items: center; gap: 13px; box-shadow: 0 12px 30px rgba(10,38,71,.2); }
.uh-photo .float .dd { width: 50px; height: 50px; border-radius: 12px; background: var(--blue); color: #fff; display: grid; place-items: center; font-family: "Anton"; font-size: 1.35rem; line-height: .82; text-align: center; }
.uh-photo .float b { font-size: .96rem; } .uh-photo .float small { font-size: .8rem; color: var(--steel); }

/* HERO 2 blue */
.uh-hero.v2 { color: #fff; background: radial-gradient(110% 90% at 82% 4%, #1a6fe0 0, rgba(26,111,224,0) 48%), radial-gradient(90% 70% at 0 100%, #0c8f4d 0, rgba(12,143,77,0) 46%), linear-gradient(155deg, #082044 0%, #0b3b8c 55%, #0a2a5e 100%); }
.uh-hero.v2 .grid { display: grid; grid-template-columns: 1.3fr .9fr; gap: 52px; align-items: center; padding-top: 80px; }
.uh-hero.v2 h1 { font-size: clamp(3rem,7.4vw,6.6rem); } .uh-hero.v2 h1 .g { color: var(--green); }
.uh-hero.v2 .lead { color: rgba(255,255,255,.82); font-size: 1.14rem; max-width: 34ch; margin: 22px 0 30px; }
.uh-hero.v2 .acts { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 34px; }
.uh-cc { background: rgba(255,255,255,.06); border: 1px solid var(--line-lt); border-radius: 22px; padding: 28px; backdrop-filter: blur(6px); box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.uh-cc h3 { font-family: "Anton"; text-transform: uppercase; font-size: 1.6rem; margin: 6px 0 2px; }
.uh-cc .s { color: rgba(255,255,255,.6); font-size: .85rem; margin-bottom: 20px; }
.uh-cd { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }
.uh-cd .u { background: rgba(0,0,0,.28); border: 1px solid var(--line-lt); border-radius: 11px; padding: 13px 4px; text-align: center; }
.uh-cd .u b { display: block; font-family: "Anton"; font-size: 1.8rem; line-height: 1; height: 1em; overflow: hidden; font-variant-numeric: tabular-nums; }
.uh-cd .u b .d { display: block; }
@keyframes uh-flipdown { 0% { transform: translateY(-52%); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } }
.uh-cd .u b .d.anim { animation: uh-flipdown .5s var(--ease); }
.uh-cd .u small { font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.55); }

/* HERO 5 diagonal */
.uh-hero.v5 { color: #fff; background: linear-gradient(140deg, #0b3b8c 0%, #1466d8 60%, #0a2a5e 100%); }
.uh-hero.v5 .slab { position: absolute; left: 0; right: 0; bottom: -2px; height: 26%; background: var(--paper); z-index: 1; clip-path: polygon(0 44%, 100% 0, 100% 100%, 0 100%); }
.uh-hero.v5 .lines { position: absolute; inset: 0; z-index: 0; opacity: .5; background: repeating-linear-gradient(118deg, transparent 0 38px, rgba(23,201,100,.16) 38px 40px); }
.uh-hero.v5 .grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: center; padding-top: 80px; }
.uh-hero.v5 h1 { font-size: clamp(2.9rem,6.6vw,5.8rem); } .uh-hero.v5 h1 .g { color: var(--green); }
.uh-hero.v5 .lead { color: rgba(255,255,255,.85); max-width: 32ch; margin: 22px 0 30px; font-size: 1.12rem; }
.uh-hero.v5 .acts { display: flex; gap: 14px; flex-wrap: wrap; }
.uh-bignum { position: relative; }
.uh-bignum .ph { border-radius: 20px; overflow: hidden; transform: rotate(3deg); box-shadow: 0 26px 60px rgba(0,0,0,.4); border: 5px solid #fff; aspect-ratio: 4/4.2; }
.uh-bignum .ph img { width: 100%; height: 100%; object-fit: cover; }
.uh-bignum .badge { position: absolute; left: -22px; bottom: -16px; background: var(--green); color: #04220f; border-radius: 15px; padding: 13px 17px; transform: rotate(-4deg); box-shadow: 0 14px 30px rgba(23,201,100,.4); }
.uh-bignum .badge b { font-family: "Anton"; font-size: 1.7rem; display: block; line-height: .9; } .uh-bignum .badge small { font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.uh-scrollcue { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 7px; font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; opacity: .7; color: #fff; }
.uh-scrollcue .bar { width: 1px; height: 34px; background: linear-gradient(var(--green), transparent); animation: uh-drop 1.8s infinite; }
@keyframes uh-drop { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }

/* stats */
.uh-stats { background: var(--navy); color: #fff; }
.uh-stats .grid { display: grid; grid-template-columns: repeat(4,1fr); }
.uh-stat { padding: 18px 26px; border-left: 1px solid var(--line-lt); }
.uh-stat:first-child { border-left: none; }
.uh-stat .n { font-family: "Anton"; font-size: clamp(2.4rem,4.6vw,3.8rem); line-height: .9; font-variant-numeric: tabular-nums; }
.uh-stat .n .suf { color: var(--green); }
.uh-stat .l { margin-top: 9px; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); font-weight: 600; }

/* carousel */
.uh-carousel { position: relative; }
.uh-track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; padding: 4px 0 8px; }
.uh-track::-webkit-scrollbar { display: none; }
.uh-aslide { flex: 0 0 calc((100% - 40px)/3); scroll-snap-align: start; position: relative; border-radius: 18px; overflow: hidden; min-height: 400px; color: #fff; display: flex; flex-direction: column; justify-content: flex-end; padding: 26px; isolation: isolate; }
.uh-aslide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .5s var(--ease); }
.uh-aslide::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,38,71,.05) 30%, rgba(10,38,71,.86)); }
.uh-aslide:hover img { transform: scale(1.06); }
.uh-aslide .k { font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--green); margin-bottom: 8px; }
.uh-aslide h3 { font-family: "Anton"; text-transform: uppercase; font-size: 1.7rem; margin-bottom: 6px; }
.uh-aslide p { font-size: .9rem; color: rgba(255,255,255,.85); max-width: 34ch; }
.uh-aslide .go { margin-top: 14px; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; display: inline-flex; gap: 7px; align-items: center; }
.uh-cnav { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; gap: 18px; }
.uh-dots { display: flex; gap: 8px; }
.uh-dots i { width: 9px; height: 9px; border-radius: 50%; background: var(--line-dk); cursor: pointer; transition: width .25s, background .25s; }
.uh-dots i.on { background: var(--green); width: 26px; border-radius: 5px; }
.uh-carrows { display: flex; gap: 10px; }
.uh-carrows button { width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid var(--line-dk); background: #fff; color: var(--ink); font-size: 1.2rem; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.uh-carrows button:hover { background: var(--blue); color: #fff; border-color: var(--blue); }

/* races */
.uh-races { display: flex; flex-direction: column; gap: 13px; }
.uh-race { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 24px; padding: 20px 24px; border: 1px solid var(--line-dk); border-radius: 16px; background: #fff; transition: border-color .22s, transform .22s, box-shadow .22s; }
.uh-race:hover { transform: translateX(6px); border-color: var(--blue); box-shadow: 0 16px 32px rgba(10,38,71,.09); }
.uh-race .date { text-align: center; min-width: 70px; }
.uh-race .date b { display: block; font-family: "Anton"; font-size: 2.4rem; line-height: .85; color: var(--navy); }
.uh-race .date span { font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--blue); font-weight: 700; }
.uh-race .info h3 { font-size: 1.16rem; font-weight: 700; font-family: "Poppins"; text-transform: none; letter-spacing: 0; }
.uh-race .info .p { font-size: .9rem; color: var(--steel); margin-top: 2px; }
.uh-chip { display: inline-flex; font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: .5em .9em; border-radius: 999px; background: rgba(20,102,216,.1); color: var(--blue); }
.uh-race .go { font-weight: 700; font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ink); display: inline-flex; gap: 7px; align-items: center; }
.uh-race:hover .go { color: var(--blue); }
/* colonne allineate tra righe: date/chip/go a larghezza fissa, info flessibile */
.uh-race .uh-chip { min-width: 150px; justify-content: center; }
.uh-race .go { min-width: 108px; justify-content: flex-end; }

/* news */
.uh-news { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.uh-ncard { background: #fff; border: 1px solid var(--line-dk); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: transform .28s var(--ease), box-shadow .28s; }
.uh-ncard:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(10,38,71,.13); }
.uh-ncard .th { height: 180px; position: relative; overflow: hidden; }
.uh-ncard .th img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease); }
.uh-ncard:hover .th img { transform: scale(1.05); }
.uh-ncard .th .cat { position: absolute; top: 13px; left: 13px; background: var(--navy); color: #fff; font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: .45em .8em; border-radius: 999px; }
.uh-ncard .bd { padding: 22px; display: flex; flex-direction: column; gap: 9px; flex: 1; }
.uh-ncard .bd .d { font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--steel-2); font-weight: 600; }
.uh-ncard .bd h3 { font-size: 1.12rem; font-weight: 700; font-family: "Poppins"; text-transform: none; letter-spacing: 0; line-height: 1.25; }
.uh-ncard .bd p { font-size: .92rem; color: var(--steel); }
.uh-ncard .bd .go { margin-top: auto; font-weight: 700; font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; color: var(--blue); display: inline-flex; gap: 6px; align-items: center; }

/* sponsors + shop */
.uh-sponsors { background: var(--off); }
.uh-marquee { overflow: hidden; position: relative; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.uh-marquee .mt { display: flex; gap: 60px; width: max-content; animation: uh-scrollx 24s linear infinite; }
@keyframes uh-scrollx { to { transform: translateX(-50%); } }
.uh-marquee .sp { font-family: "Anton"; text-transform: uppercase; font-size: 1.6rem; color: var(--steel); opacity: .5; white-space: nowrap; transition: color .2s, opacity .2s; }
.uh-marquee .sp:hover { color: var(--blue); opacity: 1; }
.uh-shop { display: grid; grid-template-columns: 1.1fr .9fr; border-radius: 22px; overflow: hidden; border: 1px solid var(--line-dk); }
.uh-shop .l { background: var(--navy); color: #fff; padding: 52px; }
.uh-shop .l h2 { font-family: "Anton"; text-transform: uppercase; font-size: 2.3rem; margin: .3em 0 .35em; }
.uh-shop .l p { color: rgba(255,255,255,.7); max-width: 38ch; margin-bottom: 26px; }
.uh-shop .r { position: relative; min-height: 320px; overflow: hidden; }
.uh-shop .r img { width: 100%; height: 100%; object-fit: cover; }
.uh-shop .r::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(20,102,216,.5), rgba(23,201,100,.35)); }

/* cta */
.uh-ctaband { color: #fff; text-align: center; overflow: hidden; position: relative; background: linear-gradient(120deg, #0b3b8c, #1466d8 55%, #12a455); }
.uh-ctaband .uh-grain { opacity: .08; }
.uh-ctaband h2 { font-family: "Anton"; text-transform: uppercase; font-size: clamp(2.3rem,5.6vw,4.2rem); margin-bottom: .2em; position: relative; }
.uh-ctaband p { max-width: 46ch; margin: 0 auto 28px; font-size: 1.08rem; color: rgba(255,255,255,.92); position: relative; }

/* footer */
.uh-footer { background: var(--navy); color: rgba(255,255,255,.72); padding: 72px 0 28px; }
.uh-fgrid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 38px; }
.uh-footer .uh-brand { margin-bottom: 16px; color: #fff; }
.uh-footer .fabout { font-size: .92rem; max-width: 34ch; color: rgba(255,255,255,.6); }
.uh-footer h4 { color: #fff; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 15px; font-weight: 600; font-family: "Poppins"; }
.uh-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.uh-footer ul a { font-size: .92rem; color: rgba(255,255,255,.6); transition: color .2s; }
.uh-footer ul a:hover { color: var(--green); }
.uh-socials { display: flex; gap: 11px; margin-top: 16px; }
.uh-socials a { width: 40px; height: 40px; border-radius: 11px; border: 1px solid var(--line-lt); display: grid; place-items: center; color: #fff; transition: background .22s, border-color .22s, transform .22s; }
.uh-socials a:hover { background: var(--green); border-color: var(--green); transform: translateY(-3px); }
.uh-fbot { margin-top: 50px; padding-top: 22px; border-top: 1px solid var(--line-lt); display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; font-size: .8rem; color: rgba(255,255,255,.5); }

/* progress */
.uh-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: var(--green); z-index: 70; transition: width .1s linear; }

/* ==========================================================================
   PAGINE INTERNE — header/footer condivisi su contenuto non-home.
   L'header qui NON è trasparente sopra un hero: è SOLIDO e STICKY (torna nel
   flusso, così non copre il contenuto). Il body non ha .usnave-home → ridichiaro
   il font base per il chrome.
   ========================================================================== */
/* Rimappa i token del vecchio style.css (verde/Verdana) al nuovo brand: il
   contenuto delle pagine interne si ri-skinna automaticamente (blu + Poppins)
   senza toccare le 1174 righe legacy. Restyle fine dei componenti = Fase 3. */
body.usnave-inner {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --vr-primary: #1466D8;
  --vr-primary-dark: #0B3B8C;
  --vr-primary-light: #17C964;
  --vr-primary-rgb: 20, 102, 216;
  --vr-text-primary: #0C1B2E;
  --vr-text-secondary: #5A6B7E;
  --vr-font-primary: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --vr-font-heading: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --vr-font-size-base: 16px;
}
/* Titolo pagina in Anton (come le section-head della home) */
body.usnave-inner .wp-block-post-title { font-family: "Anton", Impact, sans-serif; text-transform: uppercase; letter-spacing: .01em; color: var(--navy); font-weight: 400; }
/* il vecchio style.css ha `header { background: gradient slate !important }` che
   scavalca il nostro navy → serviamo l'override con !important + specificità.
   Idem per il wrapper <header class="wp-block-template-part">. */
body.usnave-inner header.wp-block-template-part { background: none !important; }
.uh-header.usnave-inner-hdr {
  position: sticky;
  background: rgba(9,20,34,.96) !important;
  backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 1px 0 var(--line-lt);
  color: #fff;
}
body.usnave-inner .uh-footer h4 { color: #fff !important; }
.usnave-inner-hdr .uh-brand { color: #fff; }
.usnave-inner-hdr .uh-brand .bs { color: rgba(255,255,255,.62); }
.usnave-inner-hdr .uh-menu a { color: rgba(255,255,255,.85); }
.usnave-inner-hdr .uh-menu a::after { background: var(--green); }
/* il contenuto della pagina interna respira sotto l'header sticky */
body.usnave-inner .wp-site-blocks > main,
body.usnave-inner .wp-block-post-content { padding-top: 8px; }

/* ==========================================================================
   RESPONSIVE — desktop (default) › tablet landscape › tablet portrait ›
   smartphone › small phone. Mobile-first fallback non necessario: la home è
   desktop-first con override progressivi.
   ========================================================================== */

/* --- Tablet landscape (≤1080px): riduce respiro/gutter, nav ancora desktop --- */
@media (max-width: 1080px) {
  :root { --maxw: 960px; }
  .uh-pad { padding: 84px 0; } .uh-pad-sm { padding: 64px 0; }
  .uh-menu { gap: 18px; } .uh-navwrap { gap: 16px; }
  .uh-shop .l { padding: 40px; }
  .uh-aslide { min-height: 360px; }
}

/* --- Tablet portrait (≤900px): parte la nav mobile (hamburger) --- */
@media (max-width: 900px) {
  .uh-hero.v1 .grid, .uh-hero.v2 .grid, .uh-hero.v5 .grid { grid-template-columns: 1fr; gap: 36px; }
  .uh-hero .grid > *:last-child { max-width: 460px; justify-self: center; width: 100%; }
  .uh-hero.v5 .uh-bignum { max-width: 420px; }
  .uh-stats .grid, .uh-news { grid-template-columns: repeat(2,1fr); }
  .uh-aslide { flex-basis: calc((100% - 20px)/2); }
  .uh-shop { grid-template-columns: 1fr; } .uh-fgrid { grid-template-columns: 1fr 1fr; }
  .uh-navwrap { display: none; }
  .uh-burger { display: flex; }
  /* Header: bianco sui hero scuri (v2/v5); INK sul hero chiaro v1 così l'hamburger
     resta visibile finché non si scrolla (bug var.1 risolto). */
  .uh-header { color: #fff; }
  .usnave-home-v1 .uh-header:not(.scrolled) { color: var(--ink); }
  .usnave-home-v1 .uh-header:not(.scrolled) .bs { color: var(--steel); }
}

/* --- Small tablet / phablet (≤680px): news a 1 colonna --- */
@media (max-width: 680px) {
  .uh-news { grid-template-columns: 1fr; }
  .uh-sec-head { margin-bottom: 34px; }
  .uh-fgrid { gap: 28px; }
}

/* --- Smartphone (≤560px) --- */
@media (max-width: 560px) {
  html.usnave-home-scroll { scroll-snap-type: none; }
  .usnave-home { font-size: 16px; }
  .uh-wrap { padding: 0 20px; }
  .uh-hero { min-height: auto; padding: 104px 0 64px; }
  .uh-pad { padding: 60px 0; } .uh-pad-sm { padding: 48px 0; }
  .uh-stats .grid, .uh-fgrid { grid-template-columns: 1fr; }
  .uh-stat { border-left: none; border-top: 1px solid var(--line-lt); }
  .uh-stat:first-child { border-top: none; }
  .uh-aslide { flex-basis: 86%; min-height: 320px; }
  .uh-race { grid-template-columns: auto 1fr; gap: 12px 14px; }
  .uh-race .uh-chip, .uh-race .go { grid-column: 2; min-width: 0; justify-content: flex-start; }
  .uh-hero.v5 .slab { display: none; }
  .uh-carrows { display: none; }
  .uh-shop .l { padding: 34px 26px; }
  .uh-mobile-menu { padding: 88px 26px 40px; }
  .uh-fbot { flex-direction: column; gap: 6px; }
  .uh-sec-head h2 { font-size: clamp(1.9rem,7vw,2.6rem); }
}

/* --- Small phone (≤380px): comprime il countdown e le stat-row --- */
@media (max-width: 380px) {
  .uh-wrap { padding: 0 16px; }
  .uh-cd { gap: 6px; } .uh-cd .u { padding: 10px 2px; } .uh-cd .u b { font-size: 1.5rem; }
  .uh-stat-row { gap: 18px; }
  .uh-btn { padding: .8em 1.25em; font-size: .82rem; }
}

@media (prefers-reduced-motion: reduce) {
  .usnave-home * { animation: none !important; scroll-behavior: auto !important; }
  .uh-reveal, .uh-hin { opacity: 1 !important; transform: none !important; transition: none !important; }
  .uh-marquee .mt { animation: none; }
}

/* ==========================================================================
   CSS specifico di pagine statiche (era inline nei <style> di tesseramento.html
   e consiglio.html, che WordPress rimuove via kses → CSS mostrato come testo).
   Spostato qui perché homepage.css è enqueued su TUTTE le pagine. Immune a kses.
   ========================================================================== */

/* Tesseramento — .uh-tess-* */
.uh-tess-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.uh-tess-card{background:#fff;border:1px solid var(--line-dk);border-radius:16px;padding:26px;transition:transform .28s var(--ease),box-shadow .28s}
.uh-tess-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(10,38,71,.13)}
.uh-tess-card .ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;font-family:"Anton";font-size:1.15rem;margin-bottom:14px}
.uh-tess-card h3{font-family:"Poppins";font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.uh-tess-card p{font-size:.93rem;color:var(--steel);line-height:1.55}
.uh-tess-two{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}
.uh-tess-type{background:#fff;border:1px solid var(--line-dk);border-radius:18px;padding:32px}
.uh-tess-type .badge{display:inline-block;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.45em .95em;border-radius:999px;margin-bottom:16px}
.uh-tess-type h3{font-family:"Poppins";font-size:1.4rem;font-weight:700;color:var(--navy);margin-bottom:12px}
.uh-tess-type p{font-size:.97rem;color:var(--steel);line-height:1.6}
.uh-tess-steps{list-style:none;margin:34px 0 0;padding:0;display:flex;flex-direction:column;gap:16px}
.uh-tess-steps li{display:flex;gap:20px;align-items:flex-start;background:#fff;border:1px solid var(--line-dk);border-radius:16px;padding:24px 26px}
.uh-tess-steps .num{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#fff;font-family:"Anton";font-size:1.3rem}
.uh-tess-steps h3{font-family:"Poppins";font-size:1.12rem;font-weight:700;color:var(--ink);margin-bottom:6px}
.uh-tess-steps p{font-size:.95rem;color:var(--steel);line-height:1.6}
@media(max-width:860px){.uh-tess-grid{grid-template-columns:1fr 1fr}.uh-tess-two{grid-template-columns:1fr}}
@media(max-width:560px){.uh-tess-grid{grid-template-columns:1fr}.uh-tess-steps li{flex-direction:column;gap:12px}}

/* Consiglio — .cd-* (card membri direttivo) */
.cd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;margin-top:8px}
.cd-card{background:var(--off-white,#F4F8FD);border:1px solid var(--mist,#E8F0FA);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.cd-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(10,38,71,.12)}
.cd-photo{aspect-ratio:1/1;background:var(--mist,#E8F0FA);overflow:hidden}
.cd-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.cd-initials{display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,var(--blue,#1466D8),var(--navy,#0A2647))}
.cd-initials span{font-family:var(--display-font,'Anton',sans-serif);font-size:56px;letter-spacing:2px;color:#fff}
.cd-body{padding:16px 18px 20px}
.cd-name{font-family:var(--display-font,'Anton',sans-serif);font-size:20px;line-height:1.15;margin:0 0 4px;color:var(--ink,#0C1B2E);text-transform:uppercase;letter-spacing:.3px}
.cd-role{margin:0;font-size:14px;color:var(--steel,#5A6B7E);line-height:1.4}

/* ==========================================================================
   Ritmo tipografico dei CONTENUTI nelle pagine interne (body .usnave-inner).
   Il tema azzera i margini dei blocchi wp → titoli attaccati al paragrafo sopra
   (privacy, statuto, storia, gare-nave, allenamenti-*, ecc.). Qui si ripristina
   lo spazio SOLO nel contenuto "plain" (.wp-block-heading / p / liste): le sezioni
   .uh-* usano <h2> SENZA .wp-block-heading e gestiscono da sé lo spazio, quindi
   non vengono toccate.
   ========================================================================== */
.usnave-inner .entry-content .wp-block-heading{margin:1.9em 0 .5em;line-height:1.2}
.usnave-inner .entry-content .wp-block-heading:first-child{margin-top:0}
.usnave-inner .entry-content>p,
.usnave-inner .entry-content>ul,
.usnave-inner .entry-content>ol,
.usnave-inner .entry-content>.wp-block-list{margin:0 0 1.05em}
.usnave-inner .entry-content>.wp-block-columns{margin-bottom:1.2em}

/* Allineamento verticale: sulle pagine interne il contenuto "plain" (heading/p/liste/
   colonne/hr) deve condividere lo stesso frame delle sezioni .uh-* — cioè
   uh-wrap = max-width 1200 + padding orizzontale 28px (bordo interno a 148px).
   Senza questo il body sta a 1200 centrato (left 120) e l'hero a 148 → disallineati. */
.usnave-inner .entry-content>.wp-block-heading,
.usnave-inner .entry-content>p,
.usnave-inner .entry-content>.wp-block-columns,
.usnave-inner .entry-content>.wp-block-image,
.usnave-inner .entry-content>.wp-block-table,
.usnave-inner .entry-content>hr{box-sizing:border-box;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}
.usnave-inner .entry-content>ul,
.usnave-inner .entry-content>ol,
.usnave-inner .entry-content>.wp-block-list{box-sizing:border-box;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:calc(28px + 1.3em);padding-right:28px}

/* ==========================================================================
   Utility per layout che NON possono stare in inline style: WordPress (kses)
   rimuove `display:grid|flex|inline-flex` dagli attributi style delle pagine
   create via wp post create → griglie/badge si rompono. Definiti qui come classi.
   ========================================================================== */
.uh-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:8px}
.uh-method{background:var(--off-white,#F4F8FD);border-radius:22px;padding:28px}
.uh-method-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#fff;font-family:"Anton",sans-serif;font-size:20px;line-height:1;margin-bottom:16px}
.uh-method-num.blue{background:var(--blue)}
.uh-method-num.green{background:var(--green)}
/* griglia generica a 2+ colonne per contatti ecc. */
.uh-cols-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}

/* Colonne testo+immagine nelle pagine interne (gare-nave, storia, allenamenti):
   i poster sono alti 540px+ accanto a testo corto → grande vuoto sotto il testo.
   Centro verticalmente il contenuto e limito l'altezza dell'immagine per bilanciare. */
.usnave-inner .entry-content .wp-block-columns{align-items:center}
.usnave-inner .entry-content .wp-block-columns .wp-block-image img,
.usnave-inner .entry-content .wp-block-columns figure img{max-height:440px;width:auto;object-fit:contain;border-radius:16px}

/* righe .uh-race impilate nelle pagine interne (es. calendario): senza il wrapper
   .uh-races (che ha gap) si toccano → aggiungo lo spazio tra righe adiacenti */
.usnave-inner .entry-content .uh-race + .uh-race{margin-top:14px}

/* ==========================================================================
   Fase 2 — sezioni home alimentate da dati reali (REST):
   teaser prodotti shop (.uh-shop-strip/.uh-pcard) + classifica km (.uh-board).
   ========================================================================== */
.uh-shop-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 20px; }
.uh-pcard { background: #fff; border: 1px solid var(--line-dk); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: transform .24s var(--ease), box-shadow .24s; }
.uh-pcard:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(10,38,71,.12); }
.uh-pcard .ph { height: 150px; overflow: hidden; background: var(--off); }
.uh-pcard .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease); }
.uh-pcard:hover .ph img { transform: scale(1.05); }
.uh-pcard .bd { padding: 16px 18px; display: flex; flex-direction: column; gap: 6px; }
.uh-pcard h4 { font-family: "Poppins"; font-size: 1rem; font-weight: 600; color: var(--ink); }
.uh-pcard .pr { font-family: "Anton"; font-size: 1.15rem; color: var(--blue); }

.uh-board { display: flex; flex-direction: column; gap: 10px; }
.uh-brow { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; padding: 16px 24px; border: 1px solid var(--line-dk); border-radius: 14px; background: #fff; transition: border-color .22s, transform .22s; }
.uh-brow:hover { border-color: var(--blue); transform: translateX(5px); }
.uh-brow .rk { font-family: "Anton"; font-size: 1.7rem; color: var(--navy); min-width: 42px; text-align: center; }
.uh-brow:first-child .rk { color: var(--green); }
.uh-brow .nm { font-weight: 600; color: var(--ink); }
.uh-brow .km { font-family: "Anton"; font-size: 1.25rem; color: var(--blue); white-space: nowrap; }
.uh-board-cta { margin-top: 26px; text-align: center; }
/* stato vuoto onesto quando una sezione REST non ha dati (niente placeholder finti);
   grid-column 1/-1 per occupare l'intera riga dentro griglie come .uh-news */
.uh-empty { grid-column: 1 / -1; text-align: center; color: var(--steel); font-size: .98rem; padding: 40px 0; }

@media (max-width: 900px) { .uh-shop-strip { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 680px) { .uh-shop-strip { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) {
  .uh-shop-strip { grid-template-columns: 1fr 1fr; gap: 12px; }
  .uh-brow { padding: 14px 18px; gap: 14px; }
  .uh-brow .rk { font-size: 1.4rem; min-width: 32px; }
}

/* 404 con il chrome usnave (404.php) */
.usnave-inner-main { min-height: 62vh; padding-top: 120px; }
.uh-error { text-align: center; }
.uh-error-code { font-size: clamp(90px, 18vw, 190px); color: var(--blue); line-height: .9; }
.uh-error-title { font-size: clamp(1.8rem, 5vw, 3rem); color: var(--navy); margin: 8px 0 18px; }
.uh-error-msg { max-width: 54ch; margin: 0 auto 30px; color: var(--steel); font-size: 1.05rem; line-height: 1.6; }
.uh-error-acts { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
