@media (min-width: 992px) {
  .eurven-logo img {
     height:95px;
     width: auto;
  }
}

@media (min-width: 992px) and (max-width: 1144px) {
    .metismenu.mod-menu .metismenu-item {
        padding: .5em .7em;
    }
}


/* Logo e menu */

@media (min-width: 992px) {

  header.container-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;

    padding-left: 15px;
    padding-right: 15px;

    gap: 30px;
    box-sizing: border-box;
  }

  /* Area logo */
  header.container-header > .grid-child:not(.container-nav) {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
    margin: 0;
  }

  header.container-header .navbar-brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0;
  }

  header.container-header .navbar-brand img {
    display: block;
    width: auto;
    max-height: 70px;
  }

  /* Area menu */
  header.container-header > .container-nav {
    flex: 0 1 300px;
    width: 300px;
    max-width: 300px;
    min-width: 0;
    margin-left: auto;

    display: flex !important;
    align-items: center;
    justify-content: flex-end;
  }

  header.container-header .mod-menu,
  header.container-header .navbar-nav {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;

    width: 100%;
    margin: 0;
    padding: 0;
  }

  header.container-header .mod-menu > li,
  header.container-header .navbar-nav > li {
    list-style: none;
    margin: 0;
    padding: 0;
    white-space: nowrap;
  }

}

.container-header .navbar-toggler {
    color: #134189;
}  

.view-article main {
  margin-top: 0;
}

/* Mobile: hamburger menu a destra del logo */
@media (max-width: 991.98px) {

  .container-header {
    position: relative;
  }

  .container-header .navbar-brand {
    padding-right: 60px;
  }

  .container-header .container-nav {
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    width: auto;
    margin: 0;
    padding: 0;
    z-index: 20;
  }

  .container-header .navbar {
    padding: 0;
    justify-content: flex-end;
  }

  .container-header .navbar-toggler {
    margin: 0;
    padding: 8px 10px;
    border: 0;
    color: #003180;
    box-shadow: none;
  }

  .container-header .navbar-toggler:focus {
    box-shadow: none;
  }

  .container-header .icon-menu {
    font-size: 1.5rem;
  }

  /* Pannello principale del menu */
  .container-header .navbar-collapse {
    position: absolute;
    top: 42px;
    right: 0;

    width: 280px;
    max-width: calc(100vw - 36px);

    background: #ffffff;
    border-radius: 12px;
    padding: 12px 16px;
    box-sizing: border-box;

    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
  }

  /* Sottomenu MetisMenu: apertura verticale */
  .container-header .metismenu.mod-menu .metismenu-item > ul {
    position: static !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 4px 0 0 0 !important;
    padding-left: 16px;

    box-sizing: border-box;
    box-shadow: none;
  }

  /* Le voci lunghe possono andare a capo */
  .container-header .metismenu.mod-menu .metismenu-item > ul a {
    white-space: normal;
    overflow-wrap: break-word;
  }

}

.metismenu.mod-menu .metismenu-item > button:focus {
  outline: 0px;
}

/* stili sito web */

:root {
  --eurven-blue: #071f44;
  --eurven-green: #2fa523;
  --eurven-green-dark: #247c1b;
  --eurven-border: #e5edf4;
  --eurven-text: #10213b;
  --eurven-hero-bg: #f8f9fb;
}

/* ==========================
   EURVEN HERO
========================== */

.eurven-hero {
  position: relative;
  overflow: hidden;
  background: var(--eurven-hero-bg);
}

.eurven-hero-inner {
  position: relative;
  min-height: 440px;
  background: var(--eurven-hero-bg);
  overflow: hidden;
}

.eurven-hero-container {
  position: relative;
  max-width: 1320px;
}

.eurven-hero-row {
  position: relative;
  z-index: 2;
  min-height: 440px;
}

.eurven-hero-content {
  position: relative;
  z-index: 10;
  padding-top: 34px;
  padding-bottom: 34px;
}

.eurven-hero h1 {
  margin: 0 0 18px;
  color: var(--eurven-blue);
  font-size: clamp(2.15rem, 3vw, 3.25rem);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.045em;
}

.eurven-title-line {
  display: block;
}

.eurven-text-green {
  color: var(--eurven-green);
}

.eurven-lead {
  max-width: 560px;
  margin: 0;
  color: var(--eurven-text);
  font-size: .98rem;
  line-height: 1.68;
  font-weight: 400;
}

.eurven-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 26px;
}

.btn-eurven-primary,
.btn-eurven-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 12px 24px;
  border-radius: 4px;
  font-size: .76rem;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .015em;
  text-decoration: none !important;
  transition: all .22s ease;
}

.btn-eurven-primary {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--eurven-green), var(--eurven-green-dark));
  border: 1px solid var(--eurven-green);
  box-shadow: 0 12px 24px rgba(47, 165, 35, .18);
}

.btn-eurven-primary:hover {
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(47, 165, 35, .25);
}

.btn-eurven-secondary {
  color: var(--eurven-green-dark) !important;
  background: #ffffff;
  border: 1px solid rgba(47, 165, 35, .65);
}

.btn-eurven-secondary:hover {
  color: #ffffff !important;
  background: var(--eurven-green);
  border-color: var(--eurven-green);
  transform: translateY(-2px);
}

/* ==========================
   HERO STATS
========================== */

.eurven-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 610px);
  margin-top: 34px;
  background: rgba(255, 255, 255, .98);
  border: 1px solid var(--eurven-border);
  border-radius: 4px;
  box-shadow: 0 16px 40px rgba(7, 31, 68, .055);
  overflow: hidden;
}

.eurven-stat {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 88px;
  padding: 16px 18px;
  border-right: 1px solid var(--eurven-border);
}

.eurven-stat:last-child {
  border-right: 0;
}

.eurven-stat-icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.eurven-stat-icon-symbol {
  display: inline-block;
  color: var(--eurven-green);
  font-size: 1.82rem;
  line-height: 1;
}

.eurven-stat-text strong {
  display: block;
  margin-bottom: 4px;
  color: var(--eurven-blue);
  font-size: clamp(1.45rem, 1.55vw, 1.78rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.eurven-stat-text small {
  display: block;
  color: var(--eurven-text);
  font-size: .74rem;
  line-height: 1.32;
  font-weight: 500;
}

/* ==========================
   HERO VISUAL
   Sfondo tagliato da curva netta
========================== */

.eurven-hero-visual {
  --machine-width: clamp(295px, 21vw, 350px);
  --machine-left: clamp(170px, 19vw, 250px);

  position: relative;
  height: 440px;
  min-height: 440px;
  margin-left: -34px;
  margin-right: calc((100vw - 100%) / -2);
  overflow: visible;
}

/* 
   Sfondo green contenuto da curva netta.
   Il clip-path crea un vero confine curvo:
   a sinistra della curva non c'è immagine.
*/
.eurven-hero-bg {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;

  clip-path: ellipse(80% 78% at 100% 50%);
  -webkit-clip-path: ellipse(80% 78% at 100% 50%);
}

.eurven-hero-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
}

/* 
   Sfumatura interna allo sfondo.
   Non modifica il bordo curvo, che resta netto.
*/
.eurven-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.72) 0%,
      rgba(255,255,255,.42) 18%,
      rgba(255,255,255,.14) 38%,
      rgba(255,255,255,0) 68%
    );
}

/*
   Velo chiaro dietro la macchina.
   Serve solo per dare profondità e separare il prodotto dallo sfondo.
   Non è lui a creare la curva principale.
*/
.eurven-hero-visual::before {
  content: "";
  position: absolute;
  z-index: 4;
  left: calc(var(--machine-left) - 145px);
  top: 26px;
  width: 355px;
  height: 365px;
  pointer-events: none;

  background:
    radial-gradient(
      ellipse at 45% 50%,
      rgba(255,255,255,.82) 0%,
      rgba(255,255,255,.60) 44%,
      rgba(255,255,255,.22) 66%,
      rgba(255,255,255,0) 100%
    );

  border-radius: 44% 56% 61% 39% / 39% 46% 54% 61%;
  transform: rotate(-6deg);
}

/* Macchina in overlay */
.eurven-hero-machine {
  position: absolute;
  z-index: 6;
  left: var(--machine-left);
  bottom: 0;
}

.eurven-hero-machine img {
  display: block;
  width: var(--machine-width);
  max-width: 350px;
  height: auto;
  filter: drop-shadow(0 20px 22px rgba(7, 31, 68, .22));
}

/* ==========================
   RESPONSIVE
========================== */

@media (min-width: 1400px) {
  .eurven-hero-inner,
  .eurven-hero-row,
  .eurven-hero-visual {
    min-height: 455px;
    height: 455px;
  }

  .eurven-hero-visual {
    --machine-width: 350px;
    --machine-left: 250px;
    margin-left: -42px;
  }
}

@media (max-width: 1199px) {
  .eurven-hero-inner,
  .eurven-hero-row,
  .eurven-hero-visual {
    min-height: 420px;
    height: 420px;
  }

  .eurven-hero h1 {
    font-size: clamp(2rem, 3vw, 2.85rem);
  }

  .eurven-lead {
    font-size: .94rem;
  }

  .eurven-stats {
    margin-top: 28px;
  }

  .eurven-stat {
    gap: 10px;
    padding: 15px 13px;
  }

  .eurven-stat-icon-symbol {
    font-size: 1.55rem;
  }

  .eurven-hero-visual {
    --machine-width: clamp(260px, 23vw, 320px);
    --machine-left: clamp(140px, 17vw, 200px);
    margin-left: -20px;
  }

  .eurven-hero-bg {
    clip-path: ellipse(94% 120% at 100% 50%);
    -webkit-clip-path: ellipse(94% 120% at 100% 50%);
  }

  .eurven-hero-visual::before {
    left: calc(var(--machine-left) - 120px);
    width: 320px;
    height: 330px;
  }
}

@media (max-width: 991px) {
  .eurven-hero-inner {
    padding: 42px 0 0;
    min-height: auto;
    height: auto;
    background: var(--eurven-hero-bg);
  }

  .eurven-hero-row {
    min-height: auto;
    height: auto;
  }

  .eurven-hero-content {
    text-align: center;
    padding-top: 0;
    padding-bottom: 15px;
  }

  .eurven-lead {
    margin-left: auto;
    margin-right: auto;
  }

  .eurven-buttons {
    justify-content: center;
  }

  .eurven-stats {
    margin-left: auto;
    margin-right: auto;
  }

  .eurven-hero-visual {
    height: 380px;
    min-height: 380px;
    margin: 36px calc(var(--bs-gutter-x) * -.5) 0;
    overflow: hidden;
  }

  .eurven-hero-bg {
    clip-path: none;
    -webkit-clip-path: none;
  }

  .eurven-hero-bg::after {
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.58) 0%,
        rgba(255,255,255,.20) 42%,
        rgba(255,255,255,0) 100%
      );
  }

  .eurven-hero-visual::before {
    left: 50%;
    top: 42px;
    width: 330px;
    height: 270px;
    transform: translateX(-50%) rotate(-5deg);
  }

  .eurven-hero-machine {
    left: 50%;
    transform: translateX(-50%);
  }

  .eurven-hero-machine img {
    width: clamp(240px, 42vw, 320px);
    max-width: 320px;
  }
}

@media (max-width: 767px) {
  .eurven-hero h1 {
    font-size: clamp(2rem, 8.5vw, 2.65rem);
  }

  .eurven-lead {
    font-size: .95rem;
    line-height: 1.62;
  }

  .btn-eurven-primary,
  .btn-eurven-secondary {
    width: 100%;
    max-width: 300px;
  }

  .eurven-stats {
    grid-template-columns: 1fr;
    max-width: 360px;
  }

  .eurven-stat {
  display: grid;
  grid-template-columns: 52px 1fr 52px;
  align-items: center;

  min-height: 86px;
  padding: 16px 18px;

  border-right: 0;
  border-bottom: 1px solid var(--eurven-border);

  text-align: center;
  }

  .eurven-stat-icon {
  grid-column: 1;
  justify-self: center;
  }

.eurven-stat-text {
  grid-column: 2;
  justify-self: center;
  text-align: center;
}

.eurven-stat-text strong,
.eurven-stat-text small {
  text-align: center;
}

  .eurven-stat:last-child {
    border-bottom: 0;
  }

  .eurven-hero-visual {
    height: 330px;
    min-height: 330px;
  }

  .eurven-hero-machine img {
    width: clamp(220px, 58vw, 280px);
    max-width: 280px;
  }
}

/* ==========================
   EURVEN HOME SOLUTIONS
========================== */

.eurven-home-solutions {
  position: relative;
  padding: 34px 0 46px;
  background: #ffffff;
  overflow: hidden;
}

.eurven-home-solutions .container {
  max-width: 1320px;
}

/* Titolo sezione */

.eurven-solutions-heading {
  text-align: center;
  margin-bottom: 22px;
}

.eurven-solutions-heading h2 {
  position: relative;
  display: inline-block;
  margin: 0;
  color: var(--eurven-blue);
  font-size: clamp(1.28rem, 1.45vw, 1.62rem);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.035em;
}

/* piccola linea verde sotto il titolo */

.eurven-solutions-heading h2::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -9px;
  width: 30px;
  height: 3px;
  background: var(--eurven-green);
  border-radius: 999px;
  transform: translateX(-50%);
}

/* Frase aggiuntiva richiesta.
   Nel mock non è molto visibile, quindi la manteniamo discreta. */

.eurven-solutions-heading p {
  max-width: 620px;
  margin: 18px auto 0;
  color: #5d6a78;
  font-size: .94rem;
  line-height: 1.55;
  font-weight: 500;
}

/* Griglia */

.eurven-solutions-row {
  position: relative;
  z-index: 2;
}

/* Card */

.eurven-solution-preview {
  position: relative;
  display: block;
  height: 100%;
  min-height: 340px;
  color: var(--eurven-text);
  background: #ffffff;
  border: 0;
  border-radius: 7px;
  overflow: hidden;
  text-decoration: none !important;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .035),
    0 14px 32px rgba(7, 31, 68, .055);

  transition:
    transform .22s ease,
    box-shadow .22s ease;
}

.eurven-solution-preview:hover {
  transform: translateY(-4px);
  box-shadow:
    0 4px 12px rgba(7, 31, 68, .045),
    0 22px 46px rgba(7, 31, 68, .085);
}

/* Immagine superiore */

.eurven-solution-image {
  position: relative;
  height: 150px;
  padding: 0;
  display: block;
  overflow: hidden;
  background: #f3f6f8;
}

.eurven-solution-image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 34px;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.95) 100%
  );
  pointer-events: none;
}

.eurven-solution-image img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
  transition: transform .25s ease;
}

.eurven-solution-preview:hover .eurven-solution-image img {
  transform: scale(1.025);
}

/* Icona tonda sovrapposta */

.eurven-solution-icon {
  position: absolute;
  left: 27px;
  top: 123px;
  z-index: 4;
  width: 53px;
  height: 53px;
  display: flex;
  align-items: center;
  justify-content: center;

  background: #ffffff;
  border-radius: 50%;

  box-shadow:
    0 3px 8px rgba(7, 31, 68, .06),
    0 10px 24px rgba(7, 31, 68, .10);
}

.eurven-solution-icon::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(47, 165, 35, .28);
  border-radius: 50%;
}

.eurven-solution-icon-symbol {
  position: relative;
  z-index: 2;
  display: inline-block;
  color: var(--eurven-green);
  font-size: 1.33rem;
  line-height: 1;
  transform: translateX(3px);
}

/* Contenuto inferiore */

.eurven-solution-content {
  padding: 47px 24px 22px;
  background: #ffffff;
}

.eurven-solution-content h3 {
  margin: 0 0 10px;
  color: var(--eurven-blue);
  font-size: 1.02rem;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.eurven-solution-content p {
  min-height: 68px;
  margin: 0;
  color: #526170;
  font-size: .84rem;
  line-height: 1.55;
  font-weight: 400;
}

/* Link */

.eurven-solution-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 18px;
  color: var(--eurven-green-dark);
  font-size: .72rem;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .025em;
}

.eurven-arrow {
  display: inline-block;
  font-size: .9rem;
  line-height: 1;
  transition: transform .22s ease;
}

.eurven-solution-preview:hover .eurven-arrow {
  transform: translateX(4px);
}

/* ==========================
   RESPONSIVE SOLUTIONS
========================== */

@media (max-width: 1199px) {
  .eurven-solution-preview {
    min-height: 330px;
  }

  .eurven-solution-content {
    padding-left: 22px;
    padding-right: 22px;
  }

  .eurven-solution-content p {
    min-height: 64px;
  }
}

@media (max-width: 991px) {
  .eurven-home-solutions {
    padding: 46px 0 56px;
  }

  .eurven-solutions-heading {
    margin-bottom: 24px;
  }

  .eurven-solution-preview {
    min-height: 325px;
  }
}

@media (max-width: 767px) {
  .eurven-home-solutions {
    padding: 42px 0 50px;
  }

  .eurven-solutions-heading h2 {
    font-size: 1.45rem;
  }

  .eurven-solutions-heading p {
    font-size: .9rem;
    line-height: 1.5;
  }

  .eurven-solution-preview {
    min-height: auto;
    border-radius: 8px;
  }

  .eurven-solution-image {
    height: 145px;
  }

  .eurven-solution-icon {
    top: 118px;
  }

  .eurven-solution-content p {
    min-height: auto;
  }
}

/* ==========================
   EURVEN - ARCHIVIO PRODOTTI
   Categoria blog Joomla a griglia
========================== */

.com-content-category-blog.blog {
  width: min(100% - 48px, 1320px);
  margin: 0 auto;
  padding: 0 0 64px;
}

/* Nasconde eventuale titolo pagina Joomla se non serve */
.com-content-category-blog.blog > .page-header {
  margin-bottom: 30px;
}

.com-content-category-blog.blog > .page-header h1 {
  margin: 0;
  color: var(--eurven-blue);
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.045em;
}

/* Griglia prodotti */

.com-content-category-blog.blog .com-content-category-blog__items.blog-items {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;

  column-count: initial !important;
}

/* Card prodotto */

.com-content-category-blog.blog .com-content-category-blog__item.blog-item {
  position: relative;

  display: flex !important;
  flex-direction: column;

  min-width: 0;
  height: 100%;
  min-height: 330px;

  background: #ffffff;
  border: 1px solid var(--eurven-border);
  border-radius: 7px;
  overflow: hidden;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .035),
    0 14px 32px rgba(7, 31, 68, .055);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.com-content-category-blog.blog .com-content-category-blog__item.blog-item:hover {
  transform: translateY(-4px);
  border-color: rgba(47, 165, 35, .28);

  box-shadow:
    0 4px 12px rgba(7, 31, 68, .045),
    0 22px 46px rgba(7, 31, 68, .085);
}

/* Immagine */

.com-content-category-blog.blog .item-image {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 205px;
  margin: 0;
  padding: 24px 22px 18px;

  background:
    radial-gradient(circle at 50% 32%, rgba(47, 165, 35, .10), transparent 54%),
    #f3f6f8;

  overflow: hidden;
}

.com-content-category-blog.blog .item-image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 32px;

  background: linear-gradient(
    180deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.96) 100%
  );

  pointer-events: none;
}

.com-content-category-blog.blog .item-image a {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 100%;
}

.com-content-category-blog.blog .item-image img {
  display: block;

  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 165px;

  object-fit: contain;
  object-position: center;

  filter: drop-shadow(0 14px 16px rgba(7, 31, 68, .13));

  transition: transform .25s ease;
}

.com-content-category-blog.blog .com-content-category-blog__item.blog-item:hover .item-image img {
  transform: scale(1.035);
}

/* Contenuto */

.com-content-category-blog.blog .item-content {
  display: flex;
  flex-direction: column;
  flex: 1;

  padding: 22px 24px 24px;
}

/* Titolo prodotto */

.com-content-category-blog.blog .page-header {
  margin: 0 0 14px;
  padding: 0;
}

.com-content-category-blog.blog .page-header h2 {
  margin: 0;
  padding: 0;

  color: var(--eurven-blue);
  font-size: clamp(1.05rem, 1.1vw, 1.22rem);
  line-height: 1.22;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.com-content-category-blog.blog .page-header h2 a {
  color: var(--eurven-blue);
  text-decoration: none;

  background-image: linear-gradient(var(--eurven-green), var(--eurven-green));
  background-size: 0 2px;
  background-position: 0 100%;
  background-repeat: no-repeat;

  transition:
    color .22s ease,
    background-size .22s ease;
}

.com-content-category-blog.blog .page-header h2 a:hover {
  color: var(--eurven-green-dark);
  background-size: 100% 2px;
}

/* Tag */

.com-content-category-blog.blog .tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;

  margin: auto 0 0;
  padding: 0;

  list-style: none;
}

.com-content-category-blog.blog .tags li {
  margin: 0;
  padding: 0;
}

.com-content-category-blog.blog .tags a,
.com-content-category-blog.blog .tags .btn,
.com-content-category-blog.blog .tag a {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 27px;
  padding: 7px 10px;

  color: #ffffff !important;
  background: var(--eurven-blue) !important;
  border: 0 !important;
  border-radius: 4px;

  font-size: .70rem;
  line-height: 1;
  font-weight: 800;
  text-decoration: none !important;
  letter-spacing: .01em;

  box-shadow: none !important;

  transition:
    background .2s ease,
    transform .2s ease;
}

.com-content-category-blog.blog .tags a:hover,
.com-content-category-blog.blog .tags .btn:hover,
.com-content-category-blog.blog .tag a:hover {
  background: var(--eurven-green-dark) !important;
  transform: translateY(-1px);
}

/* Nasconde testi intro/readmore nella griglia */

.com-content-category-blog.blog .item-content > p,
.com-content-category-blog.blog .item-content .item-intro,
.com-content-category-blog.blog .item-content .readmore {
  display: none;
}

/* Responsive */

@media (max-width: 1199px) {
  .com-content-category-blog.blog .com-content-category-blog__items.blog-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }

  .com-content-category-blog.blog .item-image {
    height: 195px;
  }

  .com-content-category-blog.blog .item-image img {
    max-height: 155px;
  }
}

@media (max-width: 991px) {
  .com-content-category-blog.blog {
    width: min(100% - 36px, 960px);
    padding: 34px 0 54px;
  }

  .com-content-category-blog.blog .com-content-category-blog__items.blog-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .com-content-category-blog.blog .com-content-category-blog__item.blog-item {
    min-height: 315px;
  }
}

@media (max-width: 575px) {
  .com-content-category-blog.blog {
    width: min(100% - 28px, 560px);
    padding: 28px 0 46px;
  }

  .com-content-category-blog.blog .com-content-category-blog__items.blog-items {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .com-content-category-blog.blog .item-image {
    height: 205px;
  }

  .com-content-category-blog.blog .item-content {
    padding: 20px;
  }
}

/* ==========================
   EURVEN - PAGINA PRODOTTO
   Stile coerente con la home
========================== */

/* Nasconde immagine intro Joomla duplicata */
.com-content-article.item-page:has(.eurven-product-detail) > figure.item-image {
  display: none;
}

/* Wrapper generale */

.eurven-product-detail {
  position: relative;
  color: var(--eurven-text);
  padding: 0 0 62px;
}

/* ==========================
   HERO PRODOTTO
========================== */

.eurven-product-hero {
  position: relative;

  width: 100vw;
  max-width: 100vw;
  min-height: 390px;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 44px;

  padding:
    clamp(42px, 5vw, 62px)
    max(28px, calc((100vw - 1320px) / 2 + 15px));

  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.8fr);
  align-items: center;
  column-gap: clamp(42px, 6vw, 90px);

  background: var(--eurven-hero-bg);
  overflow: hidden;

  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}

.eurven-product-hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  right: -9%;
  top: -22%;
  width: min(520px, 38vw);
  height: min(520px, 38vw);
  background: rgba(47, 165, 35, .10);
  border-radius: 50%;
  pointer-events: none;
}

.eurven-product-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: 8%;
  bottom: -25%;
  width: min(390px, 30vw);
  height: min(390px, 30vw);
  background: rgba(7, 31, 68, .045);
  border-radius: 50%;
  pointer-events: none;
}

/* Colonne Bootstrap dentro la hero */

.eurven-product-hero > .col-lg-6 {
  position: relative;
  z-index: 2;

  width: auto;
  max-width: none;
  padding: 0;
  flex: none;
}

.eurven-product-hero > .col-lg-6:first-child {
  grid-column: 1;
}

.eurven-product-hero > .col-lg-6:last-child {
  grid-column: 2;
}

/* Titolo */

.eurven-product-hero h1 {
  max-width: 640px;
  margin: 0 0 18px;

  color: var(--eurven-blue);
  font-size: clamp(2.35rem, 4.3vw, 4.25rem);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -0.055em;
}

/* Tag */

.eurven-product-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;

  margin: 0 0 26px;
}

.eurven-product-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 28px;
  padding: 7px 12px;

  color: #ffffff;
  background: var(--eurven-blue);
  border-radius: 4px;

  font-size: .72rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .01em;
}

/* Bottoni: usa lo stile globale già definito per .btn-eurven-primary/.btn-eurven-secondary */

.eurven-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;

  margin-top: 0;
}

.eurven-product-actions .btn-eurven-primary,
.eurven-product-actions .btn-eurven-secondary {
  min-height: 42px;
}

/* ==========================
   IMMAGINE HERO
========================== */

.eurven-product-image-wrap {
  position: relative;

  display: flex;
  align-items: flex-start;
  justify-content: center;

  width: 100%;
  min-height: 320px;
  padding: 0;

  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

.eurven-product-image-wrap::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 8%;
  width: min(360px, 85%);
  height: min(360px, 85%);
  transform: translateX(-50%);

  background:
    radial-gradient(
      ellipse at center,
      rgba(255,255,255,.82) 0%,
      rgba(255,255,255,.48) 45%,
      rgba(255,255,255,0) 72%
    );

  border-radius: 50%;
  pointer-events: none;
}

.eurven-product-main-image {
  position: relative;
  z-index: 2;

  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 340px;

  object-fit: contain;
  object-position: top center;

  mix-blend-mode: multiply;
  filter: drop-shadow(0 22px 24px rgba(7, 31, 68, .18));
}

/* ==========================
   SEZIONI INTERNE
========================== */

.eurven-product-section {
  width: min(100% - 48px, 1040px);
  margin: 46px auto 0;
}

.eurven-product-section h2 {
  position: relative;
  display: inline-block;

  margin: 0 0 22px;

  color: var(--eurven-blue);
  font-size: clamp(1.32rem, 1.55vw, 1.68rem);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.eurven-product-section h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -9px;

  width: 34px;
  height: 3px;

  background: var(--eurven-green);
  border-radius: 999px;
}

/* ==========================
   DESCRIZIONE
========================== */

.eurven-product-description {
  max-width: 900px;
}

.eurven-product-description-text {
  max-width: 840px;

  padding: 0;
  margin: 0;

  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.eurven-product-description-text p {
  margin: 0 0 12px;

  color: #405064;
  font-size: .98rem;
  line-height: 1.72;
  font-weight: 400;
}

.eurven-product-description-text p:last-child {
  margin-bottom: 0;
}

.eurven-product-description-text ul,
.eurven-product-description-text ol {
  margin: 0 0 14px 1.15rem;
  padding: 0;

  color: #405064;
  font-size: .98rem;
  line-height: 1.72;
}

.eurven-product-description-text li {
  margin-bottom: 6px;
}

/* ==========================
   VIDEO
========================== */

.eurven-product-video {
  max-width: 900px;
}

.eurven-product-video .ratio {
  overflow: hidden;

  background: var(--eurven-blue);
  border-radius: 6px;
  border: 1px solid var(--eurven-border);

  box-shadow:
    0 10px 24px rgba(7, 31, 68, .07),
    0 24px 54px rgba(7, 31, 68, .09);
}

.eurven-product-video iframe {
  border: 0;
}

/* ==========================
   GALLERY
========================== */

.eurven-product-gallery {
  max-width: 1040px;
}

.eurven-product-gallery .row {
  --bs-gutter-x: 18px;
  --bs-gutter-y: 18px;
}

.eurven-product-gallery-item {
  position: relative;
  display: block;
  overflow: hidden;

  background: #f3f6f8;
  border-radius: 6px;
  text-decoration: none;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .035),
    0 14px 32px rgba(7, 31, 68, .055);

  transition:
    transform .22s ease,
    box-shadow .22s ease;
}

.eurven-product-gallery-item:hover {
  transform: translateY(-4px);
  box-shadow:
    0 4px 12px rgba(7, 31, 68, .045),
    0 22px 46px rgba(7, 31, 68, .085);
}

.eurven-product-gallery-item img {
  display: block;

  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;

  object-fit: cover;
  object-position: center;

  transition: transform .25s ease;
}

.eurven-product-gallery-item:hover img {
  transform: scale(1.025);
}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width: 1199px) {
  .eurven-product-hero {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .78fr);
    column-gap: 42px;
    min-height: 370px;
  }

  .eurven-product-hero h1 {
    font-size: clamp(2.1rem, 4vw, 3.45rem);
  }

  .eurven-product-main-image {
    max-height: 310px;
  }
}

@media (max-width: 991px) {
  .eurven-product-detail {
    padding-bottom: 54px;
  }

  .eurven-product-hero {
    grid-template-columns: 1fr;
    min-height: auto;

    padding:
      42px
      max(22px, calc((100vw - 720px) / 2 + 12px))
      0;

    text-align: center;
    row-gap: 30px;
  }

  .eurven-product-hero > .col-lg-6:first-child,
  .eurven-product-hero > .col-lg-6:last-child {
    grid-column: 1;
  }

  .eurven-product-tags,
  .eurven-product-actions {
    justify-content: center;
  }

  .eurven-product-image-wrap {
    min-height: 300px;
    margin-top: 4px;
  }

  .eurven-product-main-image {
    max-height: 285px;
  }

  .eurven-product-section {
    width: min(100% - 36px, 900px);
    margin-top: 40px;
  }

  .eurven-product-description-text {
    max-width: none;
  }
}

@media (max-width: 767px) {
  .eurven-product-hero h1 {
    font-size: clamp(2rem, 8.5vw, 2.7rem);
  }

  .eurven-product-actions .btn-eurven-primary,
  .eurven-product-actions .btn-eurven-secondary {
    width: 100%;
    max-width: 300px;
  }

  .eurven-product-image-wrap {
    min-height: 260px;
  }

  .eurven-product-main-image {
    max-height: 245px;
  }

  .eurven-product-gallery .row {
    --bs-gutter-x: 14px;
    --bs-gutter-y: 14px;
  }
}

@media (max-width: 575px) {
  .eurven-product-detail {
    padding-bottom: 44px;
  }

  .eurven-product-hero {
  padding:
    36px
    20px
    0;
  }

  .eurven-product-tags {
    margin-bottom: 22px;
  }

  .eurven-product-actions {
    gap: 12px;
  }

  .eurven-product-image-wrap {
    min-height: 235px;
  }

  .eurven-product-main-image {
    max-height: 220px;
  }

  .eurven-product-section {
    width: min(100% - 28px, 900px);
    margin-top: 34px;
  }

  .eurven-product-description-text p,
  .eurven-product-description-text ul,
  .eurven-product-description-text ol {
    font-size: .95rem;
    line-height: 1.64;
  }
}

/* ==========================
   EURVEN - MODULO PRODOTTI
   Griglia articoli prodotti
========================== */

.eurven-products-grid {
  width: min(100% - 48px, 1320px);
  margin: 0 auto;
  padding: 42px 0 64px;
}

/* Lista modulo */

.eurven-products-grid .mod-articles-items {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.eurven-products-grid .mod-articles-items > li {
  min-width: 0;
  margin: 0;
  padding: 0;

  list-style: none;
}

/* Card prodotto */

.eurven-products-grid .mod-articles-item {
  position: relative;

  display: flex;
  flex-direction: column;

  height: 100%;
  min-height: 330px;

  background: #ffffff;
  border: 1px solid var(--eurven-border);
  border-radius: 7px;
  overflow: hidden;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .035),
    0 14px 32px rgba(7, 31, 68, .055);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.eurven-products-grid .mod-articles-item:hover {
  transform: translateY(-4px);
  border-color: rgba(47, 165, 35, .28);

  box-shadow:
    0 4px 12px rgba(7, 31, 68, .045),
    0 22px 46px rgba(7, 31, 68, .085);
}

/* Contenitore interno:
   permette di riordinare immagine, titolo e tag via CSS */

.eurven-products-grid .mod-articles-item-content {
  display: flex !important;
  flex-direction: column;
  flex: 1;
  height: 100%;
}

/* ==========================
   1. IMMAGINE
========================== */

.eurven-products-grid .mod-articles-image {
  order: 1;
  float: none !important;

  position: relative;

  display: flex !important;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 205px;
  margin: 0;
  padding: 24px 22px 18px;

  background:
    radial-gradient(circle at 50% 32%, rgba(47, 165, 35, .10), transparent 54%),
    #f3f6f8;

  overflow: hidden;
}

.eurven-products-grid .mod-articles-image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 32px;

  background: linear-gradient(
    180deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.96) 100%
  );

  pointer-events: none;
}

.eurven-products-grid .mod-articles-image img {
  position: relative;
  z-index: 2;

  display: block;

  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 165px;

  object-fit: contain;
  object-position: center;

  filter: drop-shadow(0 14px 16px rgba(7, 31, 68, .13));

  transition: transform .25s ease;
}

.eurven-products-grid .mod-articles-item:hover .mod-articles-image img {
  transform: scale(1.035);
}

/* ==========================
   2. TITOLO
========================== */

.eurven-products-grid .mod-articles-title {
  order: 2;

  margin: 0;
  padding: 22px 24px 10px;

  color: var(--eurven-blue);
  font-size: clamp(1.05rem, 1.1vw, 1.22rem);
  line-height: 1.22;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.eurven-products-grid .mod-articles-link {
  color: var(--eurven-blue);
  text-decoration: none;

  background-image: linear-gradient(var(--eurven-green), var(--eurven-green));
  background-size: 0 2px;
  background-position: 0 100%;
  background-repeat: no-repeat;

  transition:
    color .22s ease,
    background-size .22s ease;
}

.eurven-products-grid .mod-articles-link:hover {
  color: var(--eurven-green-dark);
  background-size: 100% 2px;
}

/* ==========================
   3. TAG
========================== */

.eurven-products-grid .mod-articles-tags {
  order: 3;

  display: block;
  padding: 0 24px 24px;
  margin: 0;
}

.eurven-products-grid .mod-articles-tags .tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.eurven-products-grid .mod-articles-tags .tags li {
  margin: 0;
  padding: 0;

  list-style: none;
}

.eurven-products-grid .mod-articles-tags .tags a,
.eurven-products-grid .mod-articles-tags .tags .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 27px;
  padding: 7px 10px;

  color: #ffffff !important;
  background: var(--eurven-blue) !important;
  border: 0 !important;
  border-radius: 4px;

  font-size: .70rem;
  line-height: 1;
  font-weight: 800;
  text-decoration: none !important;
  letter-spacing: .01em;

  box-shadow: none !important;

  transition:
    background .2s ease,
    transform .2s ease;
}

.eurven-products-grid .mod-articles-tags .tags a:hover,
.eurven-products-grid .mod-articles-tags .tags .btn:hover {
  background: var(--eurven-green-dark) !important;
  transform: translateY(-1px);
}

/* Nasconde eventuali elementi extra del modulo */

.eurven-products-grid .mod-articles-category,
.eurven-products-grid .mod-articles-date,
.eurven-products-grid .mod-articles-introtext,
.eurven-products-grid .mod-articles-readmore {
  display: none;
}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width: 1199px) {
  .eurven-products-grid .mod-articles-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }

  .eurven-products-grid .mod-articles-image {
    height: 195px;
  }

  .eurven-products-grid .mod-articles-image img {
    max-height: 155px;
  }
}

@media (max-width: 991px) {
  .eurven-products-grid {
    width: min(100% - 36px, 960px);
    padding: 34px 0 54px;
  }

  .eurven-products-grid .mod-articles-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .eurven-products-grid .mod-articles-item {
    min-height: 315px;
  }
}

@media (max-width: 575px) {
  .eurven-products-grid {
    width: min(100% - 28px, 560px);
    padding: 28px 0 46px;
  }

  .eurven-products-grid .mod-articles-items {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .eurven-products-grid .mod-articles-image {
    height: 205px;
  }

  .eurven-products-grid .mod-articles-title {
    padding: 20px 20px 10px;
  }

  .eurven-products-grid .mod-articles-tags {
    padding: 0 20px 20px;
  }
}

/* ==========================
   EURVEN - LANGUAGE SWITCHER
   Desktop accanto al menu / Mobile fisso in alto a destra
========================== */

div.mod-languages a {
  padding: 4px;
}

/* Desktop */

@media (min-width: 992px) {
  header.container-header > .container-nav {
    flex: 0 1 auto;
    width: auto;
    max-width: none;

    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
  }

  header.container-header .container-nav .navbar,
  header.container-header .container-nav nav {
    flex: 0 0 auto;
  }

  header.container-header .container-nav .mod-languages {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    margin: 0;
  }

  header.container-header .container-nav .mod-languages ul {
    display: flex;
    align-items: center;
    gap: 10px;

    margin: 0;
    padding: 0;

    list-style: none;
  }

  header.container-header .container-nav .mod-languages li {
    display: flex;
    align-items: center;

    margin: 0;
    padding: 0;
    list-style: none;
  }

  header.container-header .container-nav .mod-languages a {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 18px;

    text-decoration: none;
    line-height: 1;
  }

  header.container-header .container-nav .mod-languages img {
    display: block;
    width: 20px;
    height: auto;
  }
}

/* ==========================
   EURVEN - LANGUAGE SWITCHER MOBILE
   Fisso in alto a destra
========================== */

/* Mobile: hamburger a destra e bandiere in alto a destra */
@media (max-width: 991.98px) {

  .container-header {
    position: relative;
  }

  .container-header .navbar-brand {
    padding-right: 60px;
  }

  /* Il contenitore nav non viene più centrato verticalmente,
     così il language switcher può stare in alto */
  .container-header .container-nav {
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    z-index: 20;
  }

  /* Hamburger: mantiene la stessa posizione di prima */
  .container-header .navbar {
    position: absolute !important;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);

    width: auto;
    margin: 0;
    padding: 0;

    justify-content: flex-end;
    z-index: 20;
  }

  .container-header .navbar-toggler {
    margin: 0;
    padding: 8px 10px;
    border: 0;
    color: #003180;
    box-shadow: none;
  }

  .container-header .navbar-toggler:focus {
    box-shadow: none;
  }

  .container-header .icon-menu {
    font-size: 1.5rem;
  }

  .container-header .navbar-collapse {
    position: absolute;
    top: 42px;
    right: 0;

    min-width: 220px;

    background: #ffffff;
    border-radius: 12px;
    padding: 12px 16px;

    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
  }

  /* Language switcher: in alto a destra */
  .container-header .mod-languages {
    position: absolute !important;
    top: 8px !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;

    z-index: 30;

    display: flex !important;
    align-items: center;
    justify-content: center;

    width: auto;
    height: auto;

    margin: 0 !important;
    padding: 6px 9px;

    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(229, 237, 244, .95);
    border-radius: 999px;

    box-shadow: 0 8px 20px rgba(7, 31, 68, .08);
  }

  .container-header .mod-languages p {
    display: none;
  }

  .container-header .mod-languages ul,
  .container-header .mod-languages .mod-languages__list {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none;
  }

  .container-header .mod-languages li {
    display: flex;
    align-items: center;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none;
  }

  .container-header .mod-languages a {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 22px;
    height: 16px;

    line-height: 1;
    text-decoration: none;
  }

  .container-header .mod-languages img {
    display: block;
    width: 18px;
    height: auto;
  }
}

/* ==========================
   EURVEN - PRODOTTI IN EVIDENZA HOME
========================== */

.eurven-featured-products {
  /*width: min(100% - 48px, 1320px);*/
  margin: 0 auto;
  padding: 36px 0 42px;
}

/* Titolo modulo */

.eurven-featured-products > h3,
.eurven-featured-products .module-title,
.eurven-featured-products .moduletable-title {
  position: relative;
  display: table;
  margin: 0 auto 24px;

  color: var(--eurven-blue);
  font-size: clamp(1.25rem, 1.4vw, 1.55rem);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.035em;
  text-align: center;
}

.eurven-featured-products > h3::after,
.eurven-featured-products .module-title::after,
.eurven-featured-products .moduletable-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -9px;

  width: 30px;
  height: 3px;

  background: var(--eurven-green);
  border-radius: 999px;
  transform: translateX(-50%);
}

/* Griglia: forza 6 colonne anche se Joomla stampa grid-cols-4 */

.eurven-featured-products .mod-articles-items {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 16px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.eurven-featured-products .mod-articles-items > li {
  min-width: 0;
  margin: 0;
  padding: 0;

  list-style: none;
}

/* Card */

.eurven-featured-products .mod-articles-item {
  height: 100%;

  background: #ffffff;
  border: 1px solid var(--eurven-border);
  border-radius: 7px;
  overflow: hidden;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .03),
    0 12px 28px rgba(7, 31, 68, .05);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.eurven-featured-products .mod-articles-item:hover {
  transform: translateY(-4px);
  border-color: rgba(47, 165, 35, .28);

  box-shadow:
    0 4px 12px rgba(7, 31, 68, .04),
    0 20px 42px rgba(7, 31, 68, .08);
}

.eurven-featured-products .mod-articles-item-content {
  display: flex !important;
  flex-direction: column;
  height: 100%;
}

/* Immagine sopra */

.eurven-featured-products .mod-articles-image {
  order: 1;
  float: none !important;

  display: flex !important;
  align-items: center;
  justify-content: center;

  height: 150px;
  margin: 0;
  padding: 18px 16px 12px;

  background: #ffffff;
  overflow: hidden;
}

.eurven-featured-products .mod-articles-image img {
  display: block;

  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 118px;

  object-fit: contain;
  object-position: center;

  /*filter: drop-shadow(0 12px 14px rgba(7, 31, 68, .12));*/
  transition: transform .25s ease;
}

.eurven-featured-products .mod-articles-item:hover .mod-articles-image img {
  transform: scale(1.035);
}

/* Titolo */

.eurven-featured-products .mod-articles-title {
  order: 2;

  margin: 0;
  padding: 16px 16px 6px;

  color: var(--eurven-blue);
  font-size: .86rem;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.eurven-featured-products .mod-articles-link {
  color: var(--eurven-blue);
  text-decoration: none;
}

.eurven-featured-products .mod-articles-link:hover {
  color: var(--eurven-green-dark);
}

/* Link "Scopri di più" generato via CSS */

.eurven-featured-products .mod-articles-link::after {
  content: "Scopri di più →";

  display: block;
  margin-top: 14px;

  color: var(--eurven-green-dark);
  font-size: .66rem;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
}

html[lang^="en"] .eurven-featured-products .mod-articles-link::after {
  content: "Read more →";
}

html[lang^="es"] .eurven-featured-products .mod-articles-link::after {
  content: "Leer más →";
}

/* Nasconde elementi non necessari */

.eurven-featured-products .mod-articles-tags,
.eurven-featured-products .mod-articles-category,
.eurven-featured-products .mod-articles-date,
.eurven-featured-products .mod-articles-introtext,
.eurven-featured-products .mod-articles-readmore {
  display: none !important;
}

/* Bottone sotto la griglia, se lo inserisci in HTML */

.eurven-featured-products-all {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}

/* Responsive */

@media (max-width: 1199px) {
  .eurven-featured-products .mod-articles-items {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px;
  }

  .eurven-featured-products .mod-articles-image {
    height: 170px;
  }

  .eurven-featured-products .mod-articles-image img {
    max-height: 135px;
  }
}

@media (max-width: 767px) {
  .eurven-featured-products {
    width: min(100% - 36px, 720px);
    padding: 34px 0 40px;
  }

  .eurven-featured-products .mod-articles-items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px;
  }
}

@media (max-width: 480px) {
  .eurven-featured-products {
    width: min(100% - 28px, 420px);
  }

  .eurven-featured-products .mod-articles-items {
    grid-template-columns: 1fr !important;
  }

  .eurven-featured-products .mod-articles-image {
    height: 180px;
  }

  .eurven-featured-products .mod-articles-image img {
    max-height: 145px;
  }
}

/* ==========================
   EURVEN HOME SECTORS
========================== */

.eurven-home-sectors {
  padding-top: 28px;
}

.eurven-sectors-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.eurven-sector-card {
  position: relative;
  display: block;
  min-height: 124px;
  overflow: hidden;
  border-radius: 7px;
  text-decoration: none !important;
  background: #f3f6f8;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .035),
    0 14px 32px rgba(7, 31, 68, .055);

  transition:
    transform .22s ease,
    box-shadow .22s ease;
}

.eurven-sector-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 4px 12px rgba(7, 31, 68, .045),
    0 22px 46px rgba(7, 31, 68, .085);
}

.eurven-sector-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 124px;
  object-fit: cover;
  object-position: center;
  transform: scale(1.01);
  transition: transform .28s ease;
}

.eurven-sector-card:hover img {
  transform: scale(1.06);
}

.eurven-sector-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;

  background:
    linear-gradient(
      180deg,
      rgba(7, 31, 68, .18) 0%,
      rgba(7, 31, 68, .66) 100%
    );

  transition: background .22s ease;
}

.eurven-sector-card:hover .eurven-sector-overlay {
  background:
    linear-gradient(
      180deg,
      rgba(7, 31, 68, .12) 0%,
      rgba(36, 124, 27, .72) 100%
    );
}

.eurven-sector-content {
  position: absolute;
  inset: 0;
  z-index: 3;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 16px;
  text-align: center;
  color: #ffffff;
}

.eurven-sector-icon {
  display: block;
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 1.7rem;
  line-height: 1;
  text-shadow: 0 8px 18px rgba(0, 0, 0, .22);
}

.eurven-sector-title {
  display: block;
  max-width: 190px;
  color: #ffffff;
  font-size: .92rem;
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: -0.015em;
  text-shadow: 0 8px 18px rgba(0, 0, 0, .28);
}

/* Responsive */

@media (max-width: 1199px) {
  .eurven-sectors-grid {
    gap: 14px;
  }

  .eurven-sector-card,
  .eurven-sector-card img {
    min-height: 116px;
  }

  .eurven-sector-title {
    font-size: .86rem;
  }
}

@media (max-width: 991px) {
  .eurven-sectors-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .eurven-sector-card,
  .eurven-sector-card img {
    min-height: 140px;
  }
}

@media (max-width: 575px) {
  .eurven-sectors-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .eurven-sector-card,
  .eurven-sector-card img {
    min-height: 138px;
  }
}

/* ==========================
   CASSIOPEIA - TOP B MODULI IN VERTICALE
========================== */

.container-top-b {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

.container-top-b > * {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* ==========================
   EURVEN HOME INSTALLATIONS
========================== */

.eurven-home-installations {
  position: relative;
  padding: 36px 0 46px;
  background: #ffffff;
  overflow: hidden;
}

.eurven-home-installations .container {
  max-width: 1320px;
}

.eurven-installations-panel {
  position: relative;

  display: grid;
  grid-template-columns: minmax(210px, .85fr) minmax(320px, 1.35fr) minmax(260px, .95fr);
  align-items: center;
  gap: clamp(22px, 3.4vw, 54px);

  min-height: 270px;
  padding: clamp(26px, 3vw, 38px);

  background:
    radial-gradient(circle at 50% 50%, rgba(47, 165, 35, .08), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, var(--eurven-hero-bg) 100%);

  border: 1px solid var(--eurven-border);
  border-radius: 7px;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .025),
    0 16px 40px rgba(7, 31, 68, .05);

  overflow: hidden;
}

.eurven-installations-panel::before {
  content: "";
  position: absolute;
  right: -120px;
  top: -150px;

  width: 360px;
  height: 360px;

  background: rgba(47, 165, 35, .07);
  border-radius: 50%;
  pointer-events: none;
}

.eurven-installations-panel::after {
  content: "";
  position: absolute;
  left: 42%;
  bottom: -170px;

  width: 420px;
  height: 420px;

  background: rgba(7, 31, 68, .035);
  border-radius: 50%;
  pointer-events: none;
}

/* Testo sinistra */

.eurven-installations-text {
  position: relative;
  z-index: 2;
}

.eurven-installations-text h2 {
  margin: 0 0 14px;

  color: var(--eurven-blue);
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.045em;
}

.eurven-installations-text h2 span {
  display: block;
}

.eurven-installations-text p {
  max-width: 260px;
  margin: 0 0 18px;

  color: #405064;
  font-size: .9rem;
  line-height: 1.55;
}

.eurven-installations-list {
  display: grid;
  gap: 9px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.eurven-installations-list li {
  display: flex;
  align-items: center;
  gap: 9px;

  margin: 0;
  padding: 0;

  color: var(--eurven-text);
  font-size: .82rem;
  line-height: 1.25;
  font-weight: 500;
}

.eurven-installations-list .fa-solid {
  color: var(--eurven-green);
  font-size: .9rem;
  line-height: 1;
}

/* Mappa */

.eurven-installations-map {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 220px;
  text-decoration: none !important;
}

.eurven-installations-map img {
  display: block;

  width: min(100%, 520px);
  height: auto;

  object-fit: contain;
  object-position: center;

  filter: drop-shadow(0 16px 20px rgba(7, 31, 68, .12));

  transition:
    transform .25s ease,
    filter .25s ease;
}

.eurven-installations-map:hover img {
  transform: translateY(-3px) scale(1.015);
  filter: drop-shadow(0 20px 24px rgba(7, 31, 68, .16));
}

/* Card destra */

.eurven-installations-card {
  position: relative;
  z-index: 2;

  padding: 24px 24px 26px;

  background: rgba(255, 255, 255, .86);
  border: 1px solid rgba(229, 237, 244, .95);
  border-radius: 7px;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .025),
    0 14px 32px rgba(7, 31, 68, .045);

  backdrop-filter: blur(8px);
}

.eurven-installations-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 38px;
  height: 38px;
  margin-bottom: 16px;

  color: var(--eurven-green);
  background: rgba(47, 165, 35, .08);
  border: 1px solid rgba(47, 165, 35, .24);
  border-radius: 4px;
}

.eurven-installations-card-icon .fa-solid {
  font-size: 1.05rem;
  line-height: 1;
}

.eurven-installations-card h3 {
  margin: 0 0 11px;

  color: var(--eurven-blue);
  font-size: 1.02rem;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.eurven-installations-card p {
  margin: 0 0 18px;

  color: #526170;
  font-size: .86rem;
  line-height: 1.58;
}

.eurven-installations-card .btn {
  min-height: 38px;
  padding: 10px 18px;
  font-size: .72rem;
}

/* Responsive */

@media (max-width: 1199px) {
  .eurven-installations-panel {
    grid-template-columns: minmax(190px, .8fr) minmax(300px, 1.2fr) minmax(240px, .9fr);
    gap: 28px;
  }

  .eurven-installations-map img {
    width: min(100%, 460px);
  }
}

@media (max-width: 991px) {
  .eurven-home-installations {
    padding: 42px 0 50px;
  }

  .eurven-installations-panel {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 34px 26px;
  }

  .eurven-installations-text p {
    margin-left: auto;
    margin-right: auto;
  }

  .eurven-installations-list {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .eurven-installations-map {
    min-height: auto;
  }

  .eurven-installations-map img {
    width: min(100%, 520px);
  }

  .eurven-installations-card {
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }
}

@media (max-width: 575px) {
  .eurven-home-installations {
    padding: 36px 0 44px;
  }

  .eurven-installations-panel {
    padding: 30px 20px;
  }

  .eurven-installations-text h2 {
    font-size: clamp(1.55rem, 8vw, 2rem);
  }

  .eurven-installations-card {
    padding: 22px;
  }

  .eurven-installations-card .btn {
    width: 100%;
  }
}

/* ==========================
   EURVEN - COLOR CARDS RIUTILIZZABILI
   Progetti speciali / box colorati con immagine
========================== */

.eurven-special-projects {
  background: #ffffff;
}

.eurven-color-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.eurven-color-card {
  --card-bg-1: #1f8f26;
  --card-bg-2: #247c1b;

  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 470px;

  color: #ffffff;
  background: #ffffff;
  border-radius: 18px;
  overflow: hidden;

  box-shadow:
    0 4px 12px rgba(7, 31, 68, .045),
    0 18px 46px rgba(7, 31, 68, .10);

  transition:
    transform .24s ease,
    box-shadow .24s ease;
}

.eurven-color-card:hover {
  transform: translateY(-5px);
  box-shadow:
    0 8px 18px rgba(7, 31, 68, .06),
    0 28px 64px rgba(7, 31, 68, .14);
}

/* Varianti colore */

.eurven-color-card--green {
  --card-bg-1: #31a629;
  --card-bg-2: #1e7518;
}

.eurven-color-card--blue {
  --card-bg-1: #0d4da3;
  --card-bg-2: #071f44;
}

.eurven-color-card--cyan {
  --card-bg-1: #00879d;
  --card-bg-2: #06556c;
}

.eurven-color-card--dark {
  --card-bg-1: #10213b;
  --card-bg-2: #071f44;
}

/* Immagine superiore */

.eurven-color-card-image {
  position: relative;
  height: 190px;
  overflow: hidden;
  background: #dfe7ec;
}

.eurven-color-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .35s ease;
}

.eurven-color-card:hover .eurven-color-card-image img {
  transform: scale(1.05);
}

/* Corpo box */

.eurven-color-card-body {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;

  padding: 42px 26px 28px;
  color: #ffffff;
  background:
    radial-gradient(circle at 95% 92%, rgba(255, 255, 255, .18), transparent 34%),
    linear-gradient(145deg, var(--card-bg-1) 0%, var(--card-bg-2) 100%);
}

.eurven-color-card-body::before {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -80px;
  width: 210px;
  height: 210px;

  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 50%;
  pointer-events: none;
}

.eurven-color-card-body::after {
  content: "";
  position: absolute;
  left: -80px;
  top: -90px;
  width: 220px;
  height: 220px;

  background: rgba(255, 255, 255, .08);
  border-radius: 50%;
  pointer-events: none;
}

/* Icona sovrapposta */

.eurven-color-card-icon-wrap {
  position: absolute;
  top: 0;
  left: 26px;
  z-index: 3;
  transform: translateY(-50%);

  display: flex;
  align-items: center;
  justify-content: center;

  width: 62px;
  height: 62px;

  background: rgba(255, 255, 255, .18);
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 16px;
  backdrop-filter: blur(10px);

  box-shadow:
    0 14px 26px rgba(0, 0, 0, .14),
    inset 0 1px 0 rgba(255, 255, 255, .20);
}

.eurven-color-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 1em;
  height: 1em;

  color: #ffffff;
  font-size: 1.55rem;
  line-height: 1;
}

/* Contenuti */

.eurven-color-card-kicker {
  position: relative;
  z-index: 2;
  margin: 0 0 14px;

  color: rgba(255, 255, 255, .76);
  font-size: .72rem;
  line-height: 1.25;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .055em;
}

.eurven-color-card h3 {
  position: relative;
  z-index: 2;
  margin: 0 0 18px;

  color: #ffffff;
  font-size: clamp(1.35rem, 1.55vw, 1.75rem);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.045em;
}

.eurven-color-card-body > p:not(.eurven-color-card-kicker) {
  position: relative;
  z-index: 2;
  margin: 0 0 22px;

  color: rgba(255, 255, 255, .88);
  font-size: .93rem;
  line-height: 1.62;
  font-weight: 400;
}

.eurven-color-card-link {
  position: relative;
  z-index: 2;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  width: fit-content;
  min-height: 42px;
  margin-top: auto;
  padding: 12px 20px;

  color: var(--eurven-blue) !important;
  background: #ffffff;
  border-radius: 999px;

  font-size: .76rem;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .015em;
  text-decoration: none !important;

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    color .22s ease;
}

.eurven-color-card-link:hover {
  color: var(--eurven-green-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, .14);
}

.eurven-color-card-link span {
  line-height: 1;
  transition: transform .22s ease;
}

.eurven-color-card-link:hover span {
  transform: translateX(4px);
}

/* Responsive */

@media (max-width: 1199px) {
  .eurven-color-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .eurven-color-card {
    min-height: 450px;
  }
}

@media (max-width: 767px) {
  .eurven-color-cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .eurven-color-card {
    min-height: auto;
    border-radius: 14px;
  }

  .eurven-color-card-image {
    height: 200px;
  }

  .eurven-color-card-body {
    padding: 42px 22px 24px;
  }

  .eurven-color-card-icon-wrap {
    left: 22px;
    width: 58px;
    height: 58px;
    border-radius: 14px;
  }

  .eurven-color-card h3 {
    font-size: 1.45rem;
  }

  .eurven-color-card-link {
    width: 100%;
  }
}

/* ==========================
   EURVEN - NUMERI / RVM HIGHLIGHT
========================== */

.eurven-drs-highlight {
  position: relative;
  padding: 54px 0 62px;
  background:
    linear-gradient(180deg, #ffffff 0%, var(--eurven-hero-bg) 100%);
  overflow: hidden;
}

.eurven-drs-highlight .container {
  max-width: 1320px;
}

.eurven-drs-panel {
  position: relative;

  display: grid;
  grid-template-columns: minmax(340px, .92fr) minmax(0, 1.08fr);
  align-items: center;

  min-height: 430px;
}

/* Immagine */

.eurven-drs-media {
  position: relative;
  z-index: 3;

  min-height: 340px;
  padding: 34px;

  background: #ffffff;
  border: 1px solid rgba(229, 237, 244, .95);
  border-radius: 7px;

  box-shadow:
    0 4px 12px rgba(7, 31, 68, .035),
    0 22px 58px rgba(7, 31, 68, .08);
}

.eurven-drs-media img {
  display: block;

  width: 100%;
  height: 100%;
  min-height: 270px;

  object-fit: cover;
  object-position: center;

  border-radius: 5px;
}

/* Blocco testo */

.eurven-drs-content {
  position: relative;
  z-index: 2;

  margin-left: -72px;
  padding: clamp(42px, 5vw, 66px) clamp(38px, 5vw, 68px) clamp(42px, 5vw, 62px) clamp(86px, 8vw, 118px);

  color: #ffffff;
  background:
    radial-gradient(circle at 92% 12%, rgba(47, 165, 35, .22), transparent 30%),
    linear-gradient(135deg, var(--eurven-blue) 0%, #102f5a 100%);

  border-radius: 7px;

  box-shadow:
    0 4px 12px rgba(7, 31, 68, .05),
    0 26px 68px rgba(7, 31, 68, .14);

  overflow: hidden;
}

.eurven-drs-content::before {
  content: "";
  position: absolute;
  right: -110px;
  bottom: -130px;

  width: 300px;
  height: 300px;

  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 50%;
  pointer-events: none;
}

.eurven-drs-content::after {
  content: "";
  position: absolute;
  right: 34px;
  top: 34px;

  width: 72px;
  height: 72px;

  background-image: radial-gradient(rgba(255,255,255,.34) 2px, transparent 2px);
  background-size: 12px 12px;
  opacity: .52;
  pointer-events: none;
}

.eurven-drs-content h2 {
  position: relative;
  z-index: 2;

  max-width: 650px;
  margin: 0 0 22px;

  color: #ffffff;
  font-size: clamp(2rem, 3vw, 3.25rem);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.045em;
}

.eurven-drs-content > p {
  position: relative;
  z-index: 2;

  max-width: 650px;
  margin: 0;

  color: rgba(255, 255, 255, .86);
  font-size: .98rem;
  line-height: 1.72;
}

/* Numeri sintetici */

.eurven-drs-points {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;

  margin-top: 30px;
}

.eurven-drs-point {
  padding: 16px 16px 15px;

  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 6px;
}

.eurven-drs-point strong {
  display: block;
  margin-bottom: 8px;

  color: #ffffff;
  font-size: clamp(2rem, 2.4vw, 3rem);
  line-height: .95;
  font-weight: 850;
  letter-spacing: -0.055em;
}

.eurven-drs-point span {
  display: block;

  color: rgba(255, 255, 255, .78);
  font-size: .74rem;
  line-height: 1.35;
  font-weight: 500;
}

/* CTA */

.eurven-drs-actions {
  position: relative;
  z-index: 2;

  display: flex;
  flex-wrap: wrap;
  gap: 14px;

  margin-top: 32px;
}

/* Responsive */

@media (max-width: 1199px) {
  .eurven-drs-panel {
    grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr);
  }

  .eurven-drs-content {
    margin-left: -52px;
    padding-left: 82px;
  }

  .eurven-drs-content h2 {
    font-size: clamp(1.85rem, 3vw, 2.75rem);
  }
}

@media (max-width: 991px) {
  .eurven-drs-highlight {
    padding: 48px 0 56px;
  }

  .eurven-drs-panel {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .eurven-drs-media {
    width: min(100%, 620px);
    margin: 0 auto -42px;
    padding: 24px;
  }

  .eurven-drs-content {
    margin-left: 0;
    padding: 78px 34px 42px;

    text-align: center;
  }

  .eurven-drs-content h2,
  .eurven-drs-content > p {
    margin-left: auto;
    margin-right: auto;
  }

  .eurven-drs-points {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
  }

  .eurven-drs-actions {
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .eurven-drs-points {
    grid-template-columns: 1fr;
  }

  .eurven-drs-point {
    text-align: center;
  }
}

@media (max-width: 575px) {
  .eurven-drs-highlight {
    padding: 42px 0 48px;
  }

  .eurven-drs-media {
    width: min(100% - 28px, 520px);
    padding: 16px;
    margin-bottom: -34px;
  }

  .eurven-drs-media img {
    min-height: 210px;
  }

  .eurven-drs-content {
    width: min(100% - 28px, 560px);
    margin-left: auto;
    margin-right: auto;
    padding: 66px 22px 34px;
  }

  .eurven-drs-content h2 {
    font-size: clamp(1.85rem, 9vw, 2.45rem);
  }

  .eurven-drs-content > p {
    font-size: .95rem;
    line-height: 1.64;
  }

  .eurven-drs-actions .btn {
    width: 100%;
  }
}

/* ==========================
   EURVEN - CLIENTI GRANDI AZIENDE
========================== */

.eurven-clients-section {
  background: #ffffff;
}

.eurven-corporate-logos {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.eurven-client-logo {
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 112px;
  padding: 18px;

  background: #ffffff;
  border: 1px solid var(--eurven-border);
  border-radius: 7px;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .025),
    0 12px 28px rgba(7, 31, 68, .045);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    opacity .22s ease;
}

.eurven-client-logo:hover {
  transform: translateY(-3px);
  border-color: rgba(47, 165, 35, .26);

  box-shadow:
    0 4px 12px rgba(7, 31, 68, .04),
    0 20px 42px rgba(7, 31, 68, .07);
}

.eurven-client-logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 58px;
  object-fit: contain;
  opacity: .78;
  filter: grayscale(1);
  transition:
    opacity .22s ease,
    filter .22s ease,
    transform .22s ease;
}

.eurven-client-logo:hover img {
  opacity: 1;
  filter: grayscale(0);
  transform: scale(1.025);
}

@media (max-width: 1199px) {
  .eurven-corporate-logos {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .eurven-corporate-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .eurven-client-logo {
    min-height: 98px;
    padding: 16px;
  }

  .eurven-client-logo img {
    max-height: 52px;
  }
}

@media (max-width: 480px) {
  .eurven-corporate-logos {
    grid-template-columns: 1fr;
  }
}

/* ==========================
   EURVEN - CLIENTI GDO MARQUEE
========================== */

.eurven-clients-gdo {
  background: #ffffff;
  overflow: hidden;
}

.eurven-gdo-marquee {
  position: relative;
  width: 100%;
  overflow: hidden;

  margin-top: 8px;
  padding: 8px 0 18px;
}

.eurven-gdo-marquee::before,
.eurven-gdo-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;

  width: min(120px, 12vw);
  pointer-events: none;
}

.eurven-gdo-marquee::before {
  left: 0;
  background: linear-gradient(90deg, #ffffff 0%, rgba(255,255,255,0) 100%);
}

.eurven-gdo-marquee::after {
  right: 0;
  background: linear-gradient(270deg, #ffffff 0%, rgba(255,255,255,0) 100%);
}

.eurven-gdo-marquee-track {
  display: flex;
  width: max-content;
  animation: eurven-gdo-marquee 70s linear infinite;
}

.eurven-gdo-marquee:hover .eurven-gdo-marquee-track {
  animation-play-state: paused;
}

.eurven-gdo-marquee-group {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-right: 12px;
}

.eurven-gdo-logo {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 150px;
  height: 78px;
  padding: 7px 8px;

  background: #ffffff;
  border: 1px solid var(--eurven-border);
  border-radius: 7px;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .018),
    0 10px 22px rgba(7, 31, 68, .035);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.eurven-gdo-logo:hover {
  transform: translateY(-2px);
  border-color: rgba(47, 165, 35, .24);

  box-shadow:
    0 4px 12px rgba(7, 31, 68, .035),
    0 16px 32px rgba(7, 31, 68, .06);
}

.eurven-gdo-logo img {
  display: block;

  width: auto;
  max-width: 132px;
  height: auto;
  max-height: 60px;

  object-fit: contain;
  opacity: 1;
  filter: none;

  transition: transform .22s ease;
}

.eurven-gdo-logo:hover img {
  transform: scale(1.035);
}

@keyframes eurven-gdo-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (max-width: 767px) {
  .eurven-gdo-logo {
    width: 128px;
    height: 70px;
    padding: 7px 8px;
  }

  .eurven-gdo-logo img {
    max-width: 112px;
    max-height: 52px;
  }

  .eurven-gdo-marquee-track {
    animation-duration: 55s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .eurven-gdo-marquee-track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: auto;
    padding: 0 20px;
  }

  .eurven-gdo-marquee-group[aria-hidden="true"] {
    display: none;
  }

  .eurven-gdo-marquee::before,
  .eurven-gdo-marquee::after {
    display: none;
  }
}

/* ==========================
   CASSIOPEIA - OVERRIDE FOOTER
========================== */

footer.container-footer,
.container-footer.footer {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  background: #052718 !important;
  background-image: none !important;
}

.container-footer .grid-child {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.container-footer .moduletable,
.container-footer .module,
.container-footer .card {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.container-footer .moduletable > h3,
.container-footer .module > h3,
.container-footer .card-header {
  display: none !important;
}

/* ==========================
   EURVEN - FOOTER MODULE
========================== */

.eurven-footer-module {
  position: relative;
  isolation: isolate;

  width: 100%;
  color: #ffffff;

  background:
    radial-gradient(circle at 82% 0%, rgba(47, 165, 35, .18), transparent 32%),
    linear-gradient(135deg, #052718 0%, #06351f 52%, #071f1a 100%);

  overflow: hidden;
}

/* Immagine botanica limitata in alto a destra.
   La sfumatura è ottenuta con mask-image, quindi non crea bordi netti. */

.eurven-footer-module::before {
  content: "";
  position: absolute;
  z-index: 1;

  top: 0;
  right: 0;

  width: min(780px, 54vw);
  height: 230px;

  background-image: url("/images/immagine-footer.jpg");
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;

  opacity: .78;
  pointer-events: none;

  -webkit-mask-image:
    linear-gradient(
      to right,
      transparent 0%,
      rgba(0, 0, 0, .18) 14%,
      rgba(0, 0, 0, .70) 34%,
      #000 58%,
      #000 100%
    ),
    linear-gradient(
      to bottom,
      #000 0%,
      #000 46%,
      rgba(0, 0, 0, .72) 64%,
      rgba(0, 0, 0, .24) 82%,
      transparent 100%
    );

  -webkit-mask-composite: source-in;

  mask-image:
    linear-gradient(
      to right,
      transparent 0%,
      rgba(0, 0, 0, .18) 14%,
      rgba(0, 0, 0, .70) 34%,
      #000 58%,
      #000 100%
    ),
    linear-gradient(
      to bottom,
      #000 0%,
      #000 46%,
      rgba(0, 0, 0, .72) 64%,
      rgba(0, 0, 0, .24) 82%,
      transparent 100%
    );

  mask-composite: intersect;
}

/* Cerchio decorativo basso */

.eurven-footer-module::after {
  content: "";
  position: absolute;
  z-index: 1;

  right: -120px;
  bottom: -150px;

  width: 380px;
  height: 380px;

  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 50%;
  pointer-events: none;
}

/* Contenuti sopra immagine e decorazioni */

.eurven-footer-cta,
.eurven-footer-main,
.eurven-footer-bottom {
  position: relative;
  z-index: 2;
}

.eurven-footer-module a {
  color: inherit;
  text-decoration: none;
}

.eurven-footer-container {
  width: min(100% - 48px, 1320px);
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}

/* ==========================
   CTA SUPERIORE
========================== */

.eurven-footer-cta {
  position: relative;
  border-bottom: 0;
}

.eurven-footer-cta-inner {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;

  padding: 28px 0;
}

.eurven-footer-cta-icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 58px;
  height: 58px;

  color: #ffffff;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 999px;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .14),
    0 12px 28px rgba(0, 0, 0, .16);
}

.eurven-footer-cta-icon i {
  font-size: 1.35rem;
  line-height: 1;
}

.eurven-footer-cta-text h2 {
  max-width: 620px;
  margin: 0 0 6px;

  color: #ffffff;
  font-size: clamp(1.28rem, 1.8vw, 1.95rem);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.eurven-footer-cta-text p {
  margin: 0;

  color: rgba(255, 255, 255, .78);
  font-size: .92rem;
  line-height: 1.45;
}

.btn-eurven-footer {
  min-height: 42px;
  padding: 12px 22px;

  color: #ffffff !important;
  background: var(--eurven-green);
  border: 1px solid var(--eurven-green);
  border-radius: 4px;

  font-size: .72rem;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .025em;

  transition:
    transform .22s ease,
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.btn-eurven-footer:hover {
  color: #ffffff !important;
  background: var(--eurven-green-dark);
  border-color: var(--eurven-green-dark);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(47, 165, 35, .24);
}

/* ==========================
   CORPO FOOTER
========================== */

.eurven-footer-main {
  position: relative;
  padding: 36px 0 32px;
  border-top: 0;
}

.eurven-footer-grid {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns: 1.05fr 1.45fr .95fr .7fr;
  gap: clamp(28px, 4vw, 70px);
  align-items: start;
}

/* Brand */

.eurven-footer-brand {
  max-width: 260px;
}

.eurven-footer-logo {
  display: inline-flex;
  margin-bottom: 16px;
}

.eurven-footer-logo img {
  display: block;
  width: 150px;
  height: auto;
  filter: brightness(0) invert(1);
}

.eurven-footer-brand p {
  margin: 0;

  color: rgba(255, 255, 255, .68);
  font-size: .78rem;
  line-height: 1.55;
}

/* Colonne */

.eurven-footer-col h3 {
  margin: 0 0 16px;

  color: #ffffff;
  font-size: .78rem;
  line-height: 1;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .055em;
}

.eurven-footer-col ul {
  display: grid;
  gap: 9px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.eurven-footer-col li {
  margin: 0;
  padding: 0;

  color: rgba(255, 255, 255, .70);
  font-size: .80rem;
  line-height: 1.45;
}

.eurven-footer-col a {
  color: rgba(255, 255, 255, .72);

  transition:
    color .22s ease,
    padding-left .22s ease;
}

.eurven-footer-col a:hover {
  color: #ffffff;
  padding-left: 3px;
}

/* Contatti */

.eurven-footer-contact li {
  display: grid;
  gap: 3px;
}

.eurven-footer-contact li span {
  color: rgba(255, 255, 255, .48);
  font-size: .68rem;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.eurven-footer-contact address {
  margin: 0;

  color: rgba(255, 255, 255, .72);
  font-style: normal;
}

.eurven-footer-note {
  margin: 17px 0 0;

  color: rgba(255, 255, 255, .64);
  font-size: .76rem;
  line-height: 1.55;
}

.eurven-footer-note strong {
  color: #ffffff;
  font-weight: 800;
}

/* Social */

.eurven-footer-social {
  display: flex;
  align-items: center;
  gap: 10px;
}

.eurven-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 34px;
  height: 34px;

  color: #ffffff;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;

  transition:
    background .22s ease,
    border-color .22s ease,
    transform .22s ease;
}

.eurven-footer-social a:hover {
  background: var(--eurven-green);
  border-color: var(--eurven-green);
  transform: translateY(-2px);
}

.eurven-footer-social i {
  font-size: .94rem;
  line-height: 1;
}

/* ==========================
   BOTTOM
========================== */

.eurven-footer-bottom {
  position: relative;
  z-index: 2;

  border-top: 1px solid rgba(255, 255, 255, .11);
}

.eurven-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;

  padding: 15px 0;
}

.eurven-footer-bottom p {
  margin: 0;

  color: rgba(255, 255, 255, .58);
  font-size: .74rem;
  line-height: 1.4;
}

.eurven-footer-legal {
  display: flex;
  align-items: center;
  gap: 18px;
}

.eurven-footer-legal a {
  color: rgba(255, 255, 255, .58);
  font-size: .74rem;
  line-height: 1.4;

  transition: color .22s ease;
}

.eurven-footer-legal a:hover {
  color: #ffffff;
}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width: 1199px) {
  .eurven-footer-grid {
    grid-template-columns: 1fr 1.45fr 1fr;
  }

  .eurven-footer-social-col {
    grid-column: 1 / -1;
  }
}

@media (max-width: 991px) {
  .eurven-footer-module::before {
    width: min(720px, 68vw);
    height: 220px;
    opacity: .64;
  }

  .eurven-footer-cta-inner {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .eurven-footer-cta-inner .btn {
    grid-column: 2;
    justify-self: start;
  }

  .eurven-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .eurven-footer-brand,
  .eurven-footer-contact {
    max-width: none;
  }

  .eurven-footer-social-col {
    grid-column: auto;
  }
}

@media (max-width: 575px) {
  .eurven-footer-container {
    width: min(100% - 32px, 560px);
  }

  .eurven-footer-module::before {
    width: 100%;
    height: 220px;
    opacity: .38;

    -webkit-mask-image:
      linear-gradient(
        to right,
        transparent 0%,
        rgba(0, 0, 0, .24) 18%,
        rgba(0, 0, 0, .78) 42%,
        #000 100%
      ),
      linear-gradient(
        to bottom,
        #000 0%,
        rgba(0, 0, 0, .82) 44%,
        rgba(0, 0, 0, .28) 72%,
        transparent 100%
      );

    mask-image:
      linear-gradient(
        to right,
        transparent 0%,
        rgba(0, 0, 0, .24) 18%,
        rgba(0, 0, 0, .78) 42%,
        #000 100%
      ),
      linear-gradient(
        to bottom,
        #000 0%,
        rgba(0, 0, 0, .82) 44%,
        rgba(0, 0, 0, .28) 72%,
        transparent 100%
      );
  }

  .eurven-footer-cta-inner {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
    padding: 30px 0 28px;
  }

  .eurven-footer-cta-inner .btn {
    grid-column: auto;
    justify-self: stretch;
    width: 100%;
  }

  .eurven-footer-main {
    padding: 34px 0 30px;
  }

  .eurven-footer-grid {
    grid-template-columns: 1fr;
    gap: 30px;
    text-align: center;
  }

  .eurven-footer-brand {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }

  .eurven-footer-logo,
  .eurven-footer-social {
    justify-content: center;
  }

  .eurven-footer-contact li {
    justify-items: center;
  }

  .eurven-footer-bottom-inner {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  .eurven-footer-legal {
    justify-content: center;
  }
}

/* ==========================
   DIFFERENZIATA - BOTTONI
========================== */

.differenziata-buttons {
  align-items: stretch;
}

.differenziata-button {
  display: grid;
  grid-template-rows: 86px auto;
  justify-items: center;
  align-items: start;

  height: 100%;
  min-height: 122px;
  padding: 12px 14px 14px;

  color: var(--eurven-blue);
  background: #ffffff;
  border: 1.5px solid var(--eurven-green);
  border-radius: 9px;

  text-align: center;
  text-decoration: none !important;

  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease;
}

.differenziata-button:hover {
  color: var(--eurven-blue);
  background: #f8fdf7;
  border-color: var(--eurven-green-dark);
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(7, 31, 68, .08);
}

.differenziata-button img {
  display: block;

  width: 78px;
  height: 78px;

  object-fit: contain;
  object-position: center center;

  margin: 0;
}

.differenziata-button span {
  display: flex;
  align-items: flex-end;
  justify-content: center;

  min-height: 1.4em;
  margin: 0;

  color: var(--eurven-blue);
  font-size: .90rem;
  line-height: 1.2;
  font-weight: 800;
  text-align: center;
}

.differenziata-button img[src*="organico"] {
  width: 65px;
  height: 65px;
  align-self: center;
}

@media (max-width: 575px) {
  .differenziata-button {
    grid-template-rows: 74px auto;
    min-height: 112px;
    padding: 11px 12px 13px;
  }

  .differenziata-button img {
    width: 68px;
    height: 68px;
  }

  .differenziata-button span {
    font-size: .84rem;
  }

  .differenziata-button img[src*="organico"] {
    width: 55px;
    height: 55px;
  }
}

/* spaziatura articoli-sidebar */
@media (min-width: 992px) {
  body.has-sidebar-right .site-grid {
    column-gap: 3.5rem;
  }

  body.view-article.has-sidebar-right .container-component .com-content-article.item-page {
    max-width: 900px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ==========================
   SIDEBAR - ULTIME NEWS
========================== */

.sidebar-right .mod-articles-items {
  display: grid;
  gap: 18px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.sidebar-right .mod-articles-items > li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sidebar-right .mod-articles-item {
  height: 100%;
}

.sidebar-right .mod-articles-item-content {
  display: flex;
  flex-direction: column;

  height: 100%;

  overflow: hidden;

  background: #ffffff;
  border: 1px solid var(--eurven-border);
  border-radius: 10px;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .025),
    0 12px 28px rgba(7, 31, 68, .045);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.sidebar-right .mod-articles-item-content:hover {
  transform: translateY(-3px);
  border-color: rgba(47, 165, 35, .28);
  box-shadow:
    0 6px 16px rgba(7, 31, 68, .055),
    0 18px 38px rgba(7, 31, 68, .08);
}

/* Immagine sopra */

.sidebar-right .mod-articles-image {
  order: 1;

  width: 100%;
  margin: 0;

  background: #f3f6f8;
}

.sidebar-right .mod-articles-image a {
  display: block;
}

.sidebar-right .mod-articles-image img {
  display: block;

  width: 100%;
  height: 150px;

  object-fit: cover;
  object-position: center;
}

/* Titolo sotto */

.sidebar-right .mod-articles-title {
  order: 2;

  margin: 0;
  padding: 16px 16px 18px;

  color: var(--eurven-blue);
  font-size: .98rem;
  line-height: 1.28;
  font-weight: 800;
}

.sidebar-right .mod-articles-link {
  color: var(--eurven-blue);
  text-decoration: none !important;

  transition: color .22s ease;
}

.sidebar-right .mod-articles-link:hover {
  color: var(--eurven-green-dark);
}

/* Titolo modulo sidebar */

.sidebar-right > h3,
.sidebar-right .moduletable > h3,
.sidebar-right .module-title {
  margin: 0 0 18px;

  color: var(--eurven-blue);
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: -0.03em;
}

/* Se qualche articolo non ha immagine */

.sidebar-right .mod-articles-item-content:not(:has(.mod-articles-image)) .mod-articles-title {
  padding-top: 18px;
}

/* ==========================
   ULTIME NEWS HOME
========================== */

.eurven-home-solutions.news-home {
  background: linear-gradient(180deg, #ffffff 0%, var(--eurven-hero-bg) 100%);
}

.ultime-news-home .mod-articles-items {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.ultime-news-home .mod-articles-items > li {
  margin: 0;
  padding: 0;

  list-style: none;
}

.ultime-news-home .mod-articles-item {
  height: 100%;
}

.ultime-news-home .mod-articles-item-content {
  display: flex;
  flex-direction: column;

  height: 100%;

  overflow: hidden;

  background: #ffffff;
  border: 1px solid var(--eurven-border);
  border-radius: 10px;

  box-shadow:
    0 2px 8px rgba(7, 31, 68, .025),
    0 14px 34px rgba(7, 31, 68, .045);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.ultime-news-home .mod-articles-item-content:hover {
  transform: translateY(-4px);
  border-color: rgba(47, 165, 35, .30);
  box-shadow:
    0 8px 18px rgba(7, 31, 68, .055),
    0 20px 42px rgba(7, 31, 68, .08);
}

/* Immagine sopra */

.ultime-news-home .mod-articles-image {
  order: 1;

  width: 100%;
  margin: 0;

  background: #f3f6f8;
}

.ultime-news-home .mod-articles-image img {
  display: block;

  width: 100%;
  height: 170px;

  object-fit: cover;
  object-position: center;
}

/* Titolo sotto */

.ultime-news-home .mod-articles-title {
  order: 2;

  margin: 0;
  padding: 17px 18px 20px;

  color: var(--eurven-green-dark);
  font-size: 1rem;
  line-height: 1.28;
  font-weight: 850;
  letter-spacing: -0.025em;
}

.ultime-news-home .mod-articles-link {
  color: var(--eurven-green-dark);
  text-decoration: none !important;

  transition: color .22s ease;
}

.ultime-news-home .mod-articles-link:hover {
  color: var(--eurven-blue);
}

/* Articoli senza immagine */

.ultime-news-home .mod-articles-item-content:not(:has(.mod-articles-image)) .mod-articles-title {
  padding-top: 22px;
}

/* Responsive */

@media (max-width: 1199px) {
  .ultime-news-home .mod-articles-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ultime-news-home .mod-articles-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .ultime-news-home .mod-articles-image img {
    height: 150px;
  }
}

@media (max-width: 575px) {
  .ultime-news-home .mod-articles-items {
    grid-template-columns: 1fr;
  }

  .ultime-news-home .mod-articles-image img {
    height: 190px;
  }
}

/* ==========================
   ARTICOLO + SIDEBAR - LARGHEZZA ALLINEATA HEADER
========================== */

@media (min-width: 992px) {
  body.view-article.has-sidebar-right .site-grid {
    width: 100%;
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
}

/* HEADER CATEGORIA NEWS */

.eurven-category-header {
  margin-bottom: 30px;
  padding: 42px 40px 46px;

  background: #f5f6f8;
  border-radius: 10px;
}

.eurven-category-header h1 {
  margin: 0;
  color: var(--eurven-blue);
  font-size: 3.25rem;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: 0;
}

.eurven-category-header h1 span {
  color: var(--eurven-green);
}

@media (max-width: 767px) {
  .eurven-category-header {
    padding: 30px 24px 34px;
  }

  .eurven-category-header h1 {
    font-size: 2.35rem;
  }

  .eurven-category-header h1 {
    font-size: 2.35rem;
  }
}

/* ==========================
   PAGINA EDITORIALE EURVEN
========================== */

.eurven-editorial-page {
  margin-bottom: 40px;
}

/* Header */

.eurven-editorial-header {
  margin-bottom: 34px;
  padding: 48px 52px 52px;

  background: #f5f6f8;
  border-radius: 10px;
}

.eurven-editorial-header h1 {
  max-width: 1100px;
  margin: 0;

  color: var(--eurven-blue);
  font-size: 3.25rem;
  line-height: 1.06;
  font-weight: 900;
  letter-spacing: 0;
}

.eurven-editorial-header .eurven-title-line {
  display: block;
}

.eurven-editorial-header .eurven-text-green {
  color: var(--eurven-green);
}

/* Contenuto */

.eurven-editorial-content {
  max-width: 1100px;
  margin: 0 auto;
}

.eurven-editorial-content p {
  margin: 0;
}

/* Introduzione */

.eurven-editorial-intro {
  margin-bottom: 30px;
  padding: 6px 0 30px 28px;

  border-bottom: 1px solid var(--eurven-border);
  border-left: 5px solid var(--eurven-green);
}

.eurven-editorial-intro p {
  color: var(--eurven-blue);
  font-size: 1.2rem;
  line-height: 1.7;
  font-weight: 650;
}

/* Blocchi centrali */

.eurven-editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.eurven-editorial-block {
  padding: 28px 30px 32px;

  background: #ffffff;
  border: 1px solid var(--eurven-border);
  border-top: 4px solid var(--eurven-green);
  border-radius: 10px;

  box-shadow: 0 12px 30px rgba(7, 31, 68, .055);
}

.eurven-editorial-block p {
  color: #344054;
  font-size: 1rem;
  line-height: 1.72;
}

/* Blocco conclusivo */

.eurven-editorial-highlight {
  grid-column: 1 / -1;

  padding: 32px 34px;
  background: var(--eurven-blue);
  border-color: var(--eurven-blue);
  border-top-color: var(--eurven-green);
}

.eurven-editorial-highlight p {
  color: #ffffff;
  font-size: 1.08rem;
  font-weight: 600;
}

/* Responsive */

@media (max-width: 767px) {
  .eurven-editorial-header {
    margin-bottom: 26px;
    padding: 32px 24px 36px;
  }

  .eurven-editorial-header h1 {
    font-size: 2.25rem;
  }

  .eurven-editorial-content {
    padding: 0 4px;
  }

  .eurven-editorial-intro {
    padding: 2px 0 24px 20px;
  }

  .eurven-editorial-intro p {
    font-size: 1.05rem;
    line-height: 1.65;
  }

  .eurven-editorial-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .eurven-editorial-block,
  .eurven-editorial-highlight {
    grid-column: auto;
    padding: 24px;
  }
}

/*
 * Apertura dei sottomenu al passaggio del mouse
 * Solo su dispositivi desktop dotati di mouse
 */
@media (min-width: 992px) and (hover: hover) and (pointer: fine) {

    /* Nasconde la freccia/pulsante di apertura */
    .container-header
    .mod-menu_dropdown-metismenu
    .mm-toggler {
        display: none;
    }

    /* Mantiene chiusi i sottomenu */
    .container-header
    .mod-menu_dropdown-metismenu
    .metismenu-item > .mm-collapse {
        display: none !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* Li apre con il mouse o con la navigazione da tastiera */
    .container-header
    .mod-menu_dropdown-metismenu
    .metismenu-item:hover > .mm-collapse,
    .container-header
    .mod-menu_dropdown-metismenu
    .metismenu-item:focus-within > .mm-collapse {
        display: block !important;
    }
}

/* ==========================
   EURVEN - HERO PAGINE INTERNE
========================== */

.eurven-page-hero {
  position: relative;
  display: flex;
  align-items: center;

  min-height: 340px;

  background-color: #222222;
  background-image:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, .46) 0%,
      rgba(0, 0, 0, .34) 35%,
      rgba(0, 0, 0, .20) 62%,
      rgba(0, 0, 0, .08) 82%,
      rgba(0, 0, 0, .03) 100%
    ),
    var(--eurven-page-hero-image);

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  overflow: hidden;
}

.eurven-page-hero .container {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  padding-top: 70px;
  padding-bottom: 70px;
}

.eurven-page-hero h1 {
  max-width: 900px;
  margin: 0;

  color: #ffffff;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  line-height: 1.04;
  font-weight: 850;
  letter-spacing: -0.045em;

  text-shadow: 0 2px 8px rgba(0, 0, 0, .20);
}

@media (max-width: 767px) {

  .eurven-page-hero {
    min-height: 270px;

    background-image:
      linear-gradient(
        90deg,
        rgba(0, 0, 0, .46) 0%,
        rgba(0, 0, 0, .36) 45%,
        rgba(0, 0, 0, .24) 75%,
        rgba(0, 0, 0, .14) 100%
      ),
      var(--eurven-page-hero-image);
  }

  .eurven-page-hero .container {
    padding-top: 54px;
    padding-bottom: 54px;
  }

  .eurven-page-hero h1 {
    font-size: clamp(2rem, 9vw, 2.8rem);
  }
}

.ba-form-footer {
  display: none;
}

.com-content-article h1 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.left.item-image {
  margin-right: 20px;
}

/* aggiustamento header home - Spagnolo */

@media (min-width: 1200px) {
  html[lang^="es"] .eurven-hero-row > .col-xl-5 {
    width: 50%;
  }

  html[lang^="es"] .eurven-hero-row > .col-xl-7 {
    width: 50%;
  }

  html[lang^="es"] .eurven-hero h1 {
    font-size: clamp(2.15rem, 2.8vw, 3rem);
  }
}