@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap");


:root{
  /* Layout */
  --container: 1100px;
  --pad: 18px;

  /* Palette (heritage/premium) */
  --bg: #fbfaf7;
  --surface: rgba(255,255,255,.78);
  --text: #1f2328;
  --muted: #5b6168;
  --border: rgba(31,35,40,.14);

  --primary: #7a1f2b;     /* vino */
  --primary-600: #651824; /* hover */
  --secondary: #2f5d3a;   /* oliva */
  --gold: #c6a55b;        /* dettagli */

  /* Radius + shadow */
  --radius: 16px;
  --radius-sm: 12px;
  --shadow-sm: 0 10px 30px rgba(0,0,0,.12);

  /* Typography */
 --font-ui: "Lato", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  margin:0;
  font-family: var(--font-ui);
  line-height:1.5;
  color: var(--text);
  background: var(--bg);
}


img{ max-width:100%; display:block; }

a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration: underline; text-underline-offset: 3px; }

:focus-visible{
  outline: 3px solid rgba(122,31,43,.35);
  outline-offset: 2px;
}

.container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--pad);
}


/* Utility: stile reference per testi UI */
.ui-caps-gold{
  font-size: var(--caps-size);
  font-style: normal;
  font-weight: var(--caps-weight);
  font-family: var(--font-ui);
  color: var(--gold);
  text-align: center;
  line-height: 1;
  letter-spacing: var(--caps-track);
  text-transform: uppercase;
  text-decoration: none;
}



html, body{
  height: 100%;
}

body{
  min-height: 100svh;          /* usa la viewport “corretta” su mobile */
  display: flex;
  flex-direction: column;
}

/* Il contenuto principale deve espandersi e “spingere” il footer in basso */
main{
  flex: 1 0 auto;
}
