body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;
  color:var(--text);
  background:var(--bg);
  margin:0;
  line-height:1.5;
}

:root{
  --accent:#0b74de;
  --bg:#fff;
  --text:#222;
  --muted:#666;
  --max-width:1100px;
}

.google-form-embed{
  /* breakout centrato e simmetrico */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw); /* <-- aggiunto: mantiene margine destro */
  box-sizing: border-box;
  padding: 0 16px; /* piccolo padding interno su entrambi i lati */
  background: #fff;
}

/* iframe full width dentro il wrapper */
.google-form-embed iframe{
  width: 100%;
  height: calc(100vh - 220px);
  min-height: 520px;
  border: 0;
  display: block;
}

/* Mobile: header occupa meno spazio -> riduci il calcolo */
@media (max-width: 600px){
  .google-form-embed{ padding: 0 12px; }
  .google-form-embed iframe{
    height: calc(100vh - 140px);
    min-height: 420px;
  }
}

main {
    width: 100%;
    display: flex;
    justify-content: center; /* ✅ centra orizzontalmente */
  }

h1 {
color: #0078ff;
margin-bottom: 1rem;
text-align: center;
}

form {
display: flex;
flex-direction: column;
gap: 0.6rem;
}

label {
font-weight: 600;
}

input, button {
padding: 0.6rem;
border: 1px solid #ccc;
border-radius: 6px;
font-size: 1rem;
}

button {
background: #0078ff;
color: #fff;
font-weight: 600;
cursor: pointer;
transition: 0.2s;
}

button:hover {
background: #005fcc;
}

#risultati-wrapper {
    display: none;
    opacity: 0;
    transition: opacity 0.4s ease;
  }
  
#risultati-wrapper.mostra {
opacity: 1;
}
  

.mostra {
  display: block !important;
  opacity: 1;
}


.output {
margin-top: 1.5rem;
font-size: 1rem;
}

.tabella-risultato {
width: 100%;
border-collapse: collapse;
margin-top: 1rem;
}

.tabella-risultato th, .tabella-risultato td {
text-align: left;
padding: 0.5rem 0.8rem;
border-bottom: 1px solid #eee;
}

.tabella-risultato th {
width: 60%;
font-weight: 600;
}

.tabella-risultato td {
text-align: right;
}

canvas {
margin-top: 1.5rem;
max-width: 100%;
}

#graficoTorta {
display: block;
margin: 1.5rem auto;
max-width: 250px;
}

section {
    max-width: 600px;        /* larghezza massima come il resto della pagina */
    width: 100%;
    margin: 2rem auto;       /* centra la sezione orizzontalmente */
    text-align: center;      /* centra il testo all’interno */
  }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 16px;
  padding-bottom: 16px;
  box-sizing: border-box;
}

/* Header & Nav */
.site-header{border-bottom:1px solid #eee;background:#fafafa}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}
.site-logo{font-weight:700;color:var(--accent);text-decoration:none;font-size:1.05rem}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.main-nav a{color:var(--text);text-decoration:none;padding:8px;border-radius:6px}
.main-nav a:hover{background:rgba(48, 82, 115, 0.06)}

/* Hamburger */
.nav-toggle{background:none;border:0;padding:8px;display:none;cursor:pointer}
.hamburger{display:block;width:22px;height:2px;background:var(--text);position:relative}
.hamburger::before,.hamburger::after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--text);transition:transform .25s}
.hamburger::before{top:-7px}
.hamburger::after{top:7px}

/* Mobile styles */
@media (max-width:800px){
  .nav-toggle{display:block}
  .main-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    border-bottom:1px solid #eee;
    transform-origin:top;
    transform:scaleY(0);
    transition:transform .18s ease;
    z-index:40;
  }
  .main-nav.open{transform:scaleY(1)}
  .main-nav ul{flex-direction:column;gap:0}
  .main-nav a{display:block;padding:12px 16px;border-bottom:1px solid #f2f2f2}
  .header-inner{position:relative}
  /* animate hamburger when open */
  .nav-toggle[aria-expanded="true"] .hamburger{background:transparent}
  .nav-toggle[aria-expanded="true"] .hamburger::before{transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .hamburger::after{transform:translateY(-7px) rotate(-45deg)}
}

/* Hero */
.hero{padding:18px 16px}
.hero h1{margin:.3rem 0;font-size:1.6rem}
.hero p{margin:0;color:var(--muted)}

/* Blog list (cards) */
.blog-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;padding:12px 0}
.card{border:1px solid #eee;padding:14px;border-radius:8px;background:#fff}
.card h3{margin:0 0 8px 0}
.card p{margin:0;color:var(--muted);font-size:.95rem}
.card a{display:inline-block;margin-top:10px;color:var(--accent);text-decoration:none}
.card a:hover{text-decoration:underline}

/* small utilities */
footer{padding:24px;text-align:center;color:var(--muted);border-top:1px solid #f0f0f0;margin-top:32px}
/* ...existing code... */

/* sostituito: regola generica 'section' che causava il contenuto stretto su mobile */
/* page-level sections (usare la classe .page-section se vuoi contenuti centrati) */
.page-section {
  max-width: 600px;
  width: 100%;
  margin: 2rem auto;
  text-align: center;
}

/* article/content: full width, wrapping e nessun overflow orizzontale */
article.post,
article.post section,
article.post .card {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

/* prevenire overflow orizzontale globale */
html, body { overflow-x: hidden; -webkit-text-size-adjust: 100%; }

/* assicurarsi che media e iframe non escano dal contenitore */
img, picture, svg, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ...existing code... */