/* newsletter.imarsrl.com: template figlio cassiopeia_imar.
   Marchio Imar: logo nero con punto rosso, rosso #f30000, antracite #313130, font Titillium Web (servito dal sito, non da Google). */

@font-face { font-family: "Titillium Web"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/titillium-web-400.woff2") format("woff2"); }
@font-face { font-family: "Titillium Web"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/titillium-web-600.woff2") format("woff2"); }
@font-face { font-family: "Titillium Web"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/titillium-web-700.woff2") format("woff2"); }

:root {
  --imar-rosso: #f30000;
  --imar-rosso-testo: #c8000a;
  --imar-rosso-scuro: #a00008;
  --imar-antracite: #313130;
  --imar-testo: #2b2b2a;
  --imar-grigio: #666664;
  --imar-chiaro: #f4f4f2;
  --imar-bordo: #e2e2df;
  --cassiopeia-color-primary: #313130;
  --cassiopeia-color-link: #c8000a;
  --cassiopeia-color-hover: #a00008;
  --cassiopeia-font-family-body: "Titillium Web", system-ui, -apple-system, "Segoe UI", sans-serif;
  --cassiopeia-font-family-headings: "Titillium Web", system-ui, -apple-system, "Segoe UI", sans-serif;
  --cassiopeia-font-weight-headings: 700;
}

body.site {
  background: #fff;
  color: var(--imar-testo);
  font-family: var(--cassiopeia-font-family-body);
  font-size: 1.0625rem;
  line-height: 1.6;
}

/* Testata bianca con il logo e la riga rossa */
.container-header {
  background: #fff;
  background-image: none;
  border-bottom: 4px solid var(--imar-rosso);
  box-shadow: 0 2px 14px rgba(49, 49, 48, .06);
}
.container-header .navbar-brand {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin: 0;
  padding: 1.1rem 0 1rem;
}
.container-header .brand-logo img { height: 64px; width: auto; }
.container-header .site-description {
  margin: 0;
  padding-left: 1.5rem;
  border-left: 2px solid var(--imar-bordo);
  color: var(--imar-grigio);
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}

/* Contenuto */
.container-component, .container-sidebar-right { padding-top: 3rem; padding-bottom: 3rem; }
.com-content-article h2 { margin-top: 2.25rem; color: var(--imar-antracite); font-size: 1.5rem; }
.com-content-article a { color: var(--imar-rosso-testo); }

.imar-hero { margin-bottom: 2rem; }
.imar-occhiello {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .9rem;
  color: var(--imar-rosso-testo);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.imar-occhiello::before { content: ""; width: .7rem; height: .7rem; border-radius: 50%; background: var(--imar-rosso); }
.imar-hero h1 {
  max-width: 21ch;
  margin: 0 0 1.1rem;
  color: var(--imar-antracite);
  font-size: clamp(2rem, 1.35rem + 2.3vw, 3.1rem);
  line-height: 1.1;
}
.imar-lead { max-width: 62ch; margin: 0; color: #474746; font-size: 1.2rem; }

/* Testata della home: foto del reparto produttivo a tutta larghezza, testo bianco su sfumatura scura a sinistra */
.container-banner { padding: 0; }
.imar-banner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(360px, 34vw, 520px);
  overflow: hidden;
  background: var(--imar-antracite);
}
.imar-banner-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 40%; }
.imar-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(28, 28, 27, .88) 0%, rgba(28, 28, 27, .72) 38%, rgba(28, 28, 27, .25) 70%, rgba(28, 28, 27, .05) 100%);
}
.imar-banner-testo {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 2rem), 1322px);
  margin: 0 auto;
  padding: 3rem 0;
  color: #fff;
}
.imar-banner .imar-occhiello { color: #fff; }
.imar-banner h1 {
  max-width: 19ch;
  margin: 0 0 1rem;
  color: #fff;
  font-size: clamp(2rem, 1.3rem + 2.4vw, 3.3rem);
  line-height: 1.08;
}
.imar-banner .imar-lead { max-width: 52ch; color: rgba(255, 255, 255, .9); }
.imar-cta-banner { margin: 1.6rem 0 0; }
.imar-cta-banner a {
  display: inline-block;
  padding: .8rem 1.5rem;
  border-radius: 4px;
  background: var(--imar-rosso-testo);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.imar-cta-banner a:hover { background: var(--imar-rosso-scuro); color: #fff; }
.com-content-article h2.imar-primo { margin-top: 0; }
@media (max-width: 767.98px) {
  .imar-banner::after { background: linear-gradient(180deg, rgba(28, 28, 27, .55) 0%, rgba(28, 28, 27, .85) 100%); }
  .imar-banner-testo { padding: 2.5rem 0 2rem; }
}

/* Pulsante verso il modulo: serve solo quando la colonna del modulo scende in fondo (schermi stretti) */
html { scroll-behavior: smooth; }
.imar-cta { display: none; margin: 1.5rem 0 0; }
.imar-cta a {
  display: inline-block;
  padding: .75rem 1.4rem;
  border-radius: 4px;
  background: var(--imar-rosso-testo);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.imar-cta a:hover { background: var(--imar-rosso-scuro); color: #fff; }
.imar-ancora { display: block; position: relative; top: -1rem; }
@media (max-width: 991.98px) { .imar-cta { display: block; } }

.imar-punti { display: grid; gap: .9rem; margin: 1.1rem 0 1.5rem; padding: 0; list-style: none; }
.imar-punti li { position: relative; padding-left: 1.8rem; }
.imar-punti li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .5em;
  width: .7rem;
  height: .7rem;
  border-radius: 50%;
  background: var(--imar-rosso);
}
.imar-punti strong { color: var(--imar-antracite); }
.imar-nota { color: var(--imar-grigio); }

.imar-certificazioni {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  margin: 2.5rem 0;
  padding: 1.4rem 1.75rem;
  border-radius: 6px;
  background: var(--imar-chiaro);
}
.imar-certificazioni p { margin: 0; color: var(--imar-antracite); font-weight: 700; }
.imar-loghi { display: flex; flex-wrap: wrap; align-items: center; gap: 1.75rem; }
.imar-loghi img { height: 58px; width: auto; }

.imar-english { padding: .2rem 0 .2rem 1.25rem; border-left: 4px solid var(--imar-bordo); color: #474746; }
.imar-english h2 { margin-top: 0; font-size: 1.15rem; }
.imar-english p { margin-bottom: 0; }

/* Modulo d'iscrizione (AcyMailing) nella colonna destra */
.container-sidebar-right .imar-form {
  position: sticky;
  top: 1.5rem;
  border: 1px solid var(--imar-bordo);
  border-top: 4px solid var(--imar-rosso);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(49, 49, 48, .10);
}
.imar-form .card-header {
  padding: 1.5rem 1.5rem 0;
  border-bottom: 0;
  background: #fff;
  color: var(--imar-antracite);
  font-size: 1.4rem;
  font-weight: 700;
}
.imar-form .card-body { padding: 1rem 1.5rem 1.6rem; }
.imar-form label { font-weight: 600; }
.imar-form input[type="email"], .imar-form input[type="text"] {
  display: block;
  width: 100%;
  margin-top: .3rem;
  padding: .65rem .8rem;
  border: 1px solid #c8c8c5;
  border-radius: 4px;
  font: inherit;
}
/* AcyMailing dà al campo (classe "cell") una larghezza fissa nel suo module.css */
.imar-form .acym_module_form input.cell,
.imar-form input.acym__user__edit__email { width: 100% !important; max-width: none !important; box-sizing: border-box; }
.imar-form .acym__users__creation__fields__title { display: block; margin-top: .9rem; font-weight: 600; }
/* il campo sta dentro una <label> inline-block (module.css di AcyMailing), che altrimenti lo restringe */
.imar-form .acym_module_form .onefield label { display: block; width: 100%; }
.imar-form input[type="email"]:focus, .imar-form input[type="text"]:focus {
  border-color: var(--imar-rosso);
  outline: 2px solid var(--imar-rosso);
  outline-offset: 1px;
}
.imar-form input[type="checkbox"] { accent-color: var(--imar-rosso-testo); width: 1.05rem; height: 1.05rem; vertical-align: -.15em; margin-right: .35rem; }
.imar-form a { color: var(--imar-rosso-testo); }
.imar-form .btn, .imar-form .subbutton, .imar-form button[type="submit"], .imar-form input[type="submit"] {
  display: block;
  width: 100%;
  margin-top: 1.1rem;
  padding: .8rem 1rem;
  border: 0;
  border-radius: 4px;
  background: var(--imar-rosso-testo);
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: .02em;
}
.imar-form .btn:hover, .imar-form .subbutton:hover, .imar-form button[type="submit"]:hover, .imar-form input[type="submit"]:hover { background: var(--imar-rosso-scuro); }

/* Informativa: riga di lettura comoda */
.itemid-116 .com-content-article { max-width: 78ch; }
.itemid-116 .com-content-article h1 { color: var(--imar-antracite); }

/* Piè di pagina antracite con il logo in negativo */
.container-footer {
  background: var(--imar-antracite);
  background-image: none;
  color: #d8d8d5;
  font-size: .95rem;
}
.container-footer .grid-child { padding-top: 2rem; padding-bottom: 2rem; }
.container-footer a { color: #fff; }
.imar-piede { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; }
.imar-piede-logo { height: 46px; width: auto; }
.imar-piede p { margin: 0; line-height: 1.7; }

@media (max-width: 767.98px) {
  .container-header .brand-logo img { height: 50px; }
  .container-header .site-description { display: none; }
  .container-component, .container-sidebar-right { padding-top: 2rem; padding-bottom: 1.5rem; }
  .container-sidebar-right .imar-form { position: static; }
}
