/* ============================================================
   CemGPT — Tema TECH-INDUSTRIALE (sfondo bianco)
   Override di styles.css. Caricare DOPO styles.css.
   Usato da index-industrial.html.
   Estetica: blueprint/engineering — griglia tecnica, etichette
   monospace, angoli netti, marcatori, verde Heidelberg Materials.
   Accessibilità: testo in verde #004E2B su bianco (contrasto AA/AAA).
   Verde UNICO del logo Heidelberg (#004E2B); il verde brillante #00DD39 è stato rimosso.
   ============================================================ */

:root {
  /* superfici chiare */
  --bg: #FFFFFF;
  --bg-elevated: #FFFFFF;
  --surface: #F2F6F2;
  --surface-2: #E7EEE8;
  --border: #C7D5C9;

  /* testo scuro (verde-antracite) */
  --text: #0C1A12;
  --text-muted: #46554B;
  --text-dim: #7A8A80;

  /* angoli netti = look tecnico */
  --radius: 4px;
  --radius-lg: 6px;

  /* verde leggibile su bianco + font monospace per i dati */
  --hm-green-text: #004E2B;
  --mono: ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace;
}

/* ---- Sfondo "blueprint": griglia tecnica leggerissima ---- */
body {
  background-color: #FFFFFF;
  background-image:
    linear-gradient(rgba(0, 78, 43, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 78, 43, 0.045) 1px, transparent 1px);
  background-size: 28px 28px;
}

/* ---- Link e accenti testuali in verde scuro (contrasto) ---- */
a { color: var(--hm-green-text); }
.footer-nav a:hover { color: var(--hm-green-text); }

/* ---- Header chiaro ---- */
.site-header { background: rgba(255, 255, 255, 0.88); }
.cobrand-name { color: var(--text); }

/* ---- Switcher lingua (IT / EN) ---- */
.header-right { display: flex; align-items: center; gap: 18px; }
.lang-switch {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--mono); font-size: 13px; letter-spacing: .04em;
}
.lang-switch a {
  color: var(--text-dim); text-decoration: none;
  padding: 4px 7px; border-radius: var(--radius);
}
.lang-switch a:hover { color: var(--text); background: var(--surface); text-decoration: none; }
.lang-switch a.is-active { color: var(--hm-green-text); font-weight: 700; border: 1px solid var(--border); }
.lang-sep { color: var(--text-dim); }
@media (max-width: 768px) {
  .header-right { gap: 10px; }
  .lang-switch { font-size: 12px; }
  .cobrand-by { font-size: 10px; }
}

/* ---- Eyebrow tecnico: monospace, parentesi quadre ---- */
.eyebrow {
  font-family: var(--mono);
  color: var(--hm-green-text);
  border-color: rgba(0, 78, 43, 0.35);
  background: rgba(0, 78, 43, 0.07);
  letter-spacing: .06em;
}
.eyebrow::before { content: '[ '; }
.eyebrow::after  { content: ' ]'; }

/* ---- Hero: titolo con accento "evidenziato" verde brillante ---- */
.hero h1 .accent {
  color: var(--hm-green-text);
  box-shadow: inset 0 -0.14em 0 rgba(0, 78, 43, 0.5);
}
/* riga tecnica monospace sotto il sottotitolo */
.hero-spec {
  font-family: var(--mono);
  font-size: 12.5px; letter-spacing: .04em;
  color: var(--text-dim);
  margin: 22px auto 0; max-width: 60ch;
}
.hero-spec b { color: var(--hm-green-text); font-weight: 600; }

/* ---- Chat: pannello tecnico con marcatori ad angolo ---- */
.chat-window {
  position: relative;
  box-shadow: 0 12px 40px rgba(12, 26, 18, 0.10), 0 0 0 1px rgba(0, 78, 43, 0.08);
}
.chat-window::before, .chat-window::after {
  content: ''; position: absolute; width: 18px; height: 18px;
  border-color: var(--hm-green-bright); border-style: solid; pointer-events: none;
}
.chat-window::before { top: -1px; left: -1px; border-width: 2px 0 0 2px; }
.chat-window::after  { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; }

.chat-bar, .chat-input { background: rgba(0, 78, 43, 0.03); }
.chat-status, .chat-tag { font-family: var(--mono); letter-spacing: .04em; }
.msg-bubble { border-radius: var(--radius); }

/* ---- Gallery: didascalie tecniche monospace ---- */
.gallery-item { background: #FFFFFF; }
.gallery-item img { background: #FFFFFF; }
.gallery-item figcaption { border-top: 1px solid var(--border); }

/* ---- FAQ (accessibile via <details>/<summary>) ---- */
.faq { padding: 64px 0; border-top: 1px solid var(--border); }
.faq-inner { max-width: 760px; margin: 0 auto; }
.faq h2 {
  font-size: clamp(1.6rem, 3.5vw, 2.3rem); font-weight: 800;
  letter-spacing: -0.02em; margin: 0 0 24px; text-align: center; color: var(--text);
}
.faq-item {
  border: 1px solid var(--border); border-radius: var(--radius);
  margin-bottom: 12px; background: #FFFFFF;
}
.faq-item summary {
  list-style: none; cursor: pointer;
  padding: 18px 20px; font-weight: 600; color: var(--text);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+'; color: var(--hm-green-text); font-size: 22px; line-height: 1; flex: 0 0 auto;
}
.faq-item[open] summary::after { content: '\2212'; } /* − */
.faq-item .faq-a { padding: 0 20px 18px; margin: 0; color: var(--text-muted); }

/* ---- Footer: linguetta tecnica ---- */
.footer-tagline { font-family: var(--mono); font-size: 12.5px; letter-spacing: .03em; }

.site-footer a.iubenda-nostyle { width: auto !important; }