/* ATTIVITA' HEADER */
#attivita-header {
	display:inline-block;
	position: relative;
	margin:0;
	padding:0;
	width:100%;
	height:auto;
	background-position:35% center;
	background-repeat: no-repeat;
	background-size: auto 100%;  /* l’immagine si adatta in altezza, occupando solo la parte dx */
}
.attivita-generica {
	background: #78A026 url("../images/bg-attivita.jpg") no-repeat center center;
}
.attivita-ingegneria {
	background: #78A026 url("../images/bg-ingegneria.jpg") no-repeat center center;
}
.attivita-hero {
	display:inline-block;
	width:98%;
	margin:0 1%;
	padding:0;
	height:120px;
	background:url("../images/w-transparent.png") no-repeat center center;
	background-position:100% center;
	background-repeat: no-repeat;
	background-size: auto 100%;  /* l’immagine si adatta in altezza, occupando solo la parte dx */
	text-align:right;
}
.attivita-overlay h2 {
  font-size: 2.31em; /*34*/
  font-weight:100;
  color: #fff;
  text-transform: uppercase;
  margin:0;
  margin-right:7%;
  margin-top:80px;
  padding: 0;
}
/* Lineetta divisoria */
.attivita-line-vertical {
	position: absolute;
	width: 1px;
	height: 50px;
	background: linear-gradient(to bottom, white 0px, white 20px, #789F26 20px, #789F26 100%);
	top: -20px;
	left: 50%;
/* ATTIVITA' CONTENT */
}
.attivita-content {
	position:relative;
	display:inline-block;
	width:80%;
	min-height:auto;
	margin:0 10%;
	padding:0;
	padding-bottom:30px;
}
.attivita-content h2 {
	font-size: 3.07em; /* 40px */
	line-height:40px;
	font-weight:400;
	color: #332B26;
	margin-top:40px;
	margin-bottom:20px;
	text-align:center;
	color: #332B26;
}
.attivita-content p {
	font-size: 1.30em; /* 17px */
	line-height:28px;
	font-weight:400;
	color: #000000;
	text-align:center;
	margin-bottom: 1em;
	
/* ==========================
   ATTIVITA GRID
========================== */
}
#attivita-list {
  display: block;
  width: 80%;
  margin-left:auto;
  margin-right:auto;
  margin-top:0;
  margin-bottom:60px;
}

.attivita-grid {
    display: grid;
	grid-template-columns: 1fr; /* Default: 1 colonna */
    row-gap: 4em;
    column-gap: 5em;
    justify-content: center; /* ❤️ Questo centra la griglia */
}

.attivita-card {
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.attivita-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 15px rgba(0,0,0,0.12);
}

/* immagine principale della card */
.attivita-card > img {
  width: 95%;
  height: 167px;       /* rettangolare lunga */
  object-fit: cover;
  padding: 2.5%;         /* come le news */
  display: block;
}

.attivita-header {
  display: flex;
  align-items: center;
  gap: 0.6em;
}

/* loghino accanto al titolo */
.attivita-logo {
  width: 36px;
  height: auto;
  flex-shrink: 0;
}
.attivita-body {
  padding: 1em 1.2em;
}

.attivita-body h3 {
	font-family: var(--font-medium);
	font-weight: 500;
	font-size: 1.53em; /* 20px */
	line-height: 22px;
	color: var(--color-accent);
	margin: 0;
}

.attivita-body .excerpt {
	font-size: 1.23em; /* 16px */
	line-height:22px;
	font-weight:400;
	color: #000;
	margin-bottom: 1em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;   /* max 2 righe */
	-webkit-box-orient: vertical;
}

.attivita-footer {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 0.8em 1.2em;
	border-top: 1px solid #eee;
}

.attivita-link a {
	color: #000;
	font-size: 1.1em;
	transition: color 0.3s;
	text-decoration: none;
}

.attivita-link:hover {
	color: var(--color-accent);
	text-decoration:none;
/* download pdf */
}
.attivita-download {
  display:none; /* momentaneamente nascosto */
  text-align: center;
  margin-top: 3em;
  padding-top: 2em;
  border-top: 1px solid #ddd; /* separatore sottile */
}

.attivita-download p {
	font-family: var(--font-main);
	font-weight: 600;
	font-size: 1.23em; /*16px */
	color: var(--color-accent);
	margin-bottom: 0.5em;
}

.attivita-download .pdf-link img {
  width: 36px;      /* dimensione icona (regolabile) */
  height: auto;
  transition: transform 0.3s, opacity 0.3s;
}

.attivita-download .pdf-link img:hover {
  transform: scale(1.1);
  opacity: 0.85;
}
/* ==========================
   RESPONSIVE BREAKPOINTS
   ========================== */
/* Layout tablet portrait: da 480 px a 820 px. Eredita stili da: Layout mobile. */
@media only screen and (min-width: 480px ) {
/* ATTIVITA' HEADER */
#attivita-header {
	display:inline-block;
	position: relative;
	margin:0;
	padding:0;
	width:100%;
	height:auto;
	background-position:left center;
	background-repeat: no-repeat;
	background-size: auto 100%;  /* l’immagine si adatta in altezza, occupando solo la parte dx */
}
.attivita-hero {
	display:inline-block;
	width:98%;
	margin:0 1%;
	padding:0;
	height:140px;
	background:url("../images/w-transparent.png") no-repeat center center;
	background-position:right center;
	background-repeat: no-repeat;
	background-size: auto 100%;  /* l’immagine si adatta in altezza, occupando solo la parte dx */
	text-align:right;
}
.attivita-overlay h2 {
  font-size: 2.92em; /*38*/
  font-weight:100;
  color: #fff;
  text-transform: uppercase;
  margin:0;
  margin-right:7%;
  margin-top:100px;
  padding: 0;
}
/* Lineetta divisoria */
.attivita-line-vertical {
	position: absolute;
	width: 1px;
	height: 60px;
	background: linear-gradient(to bottom, white 0px, white 20px, #789F26 20px, #789F26 100%);
	top: -20px;
	left: 50%;
/* ATTIVITA' CONTENT */
}
.attivita-content {
	position:relative;
	display:inline-block;
	width:80%;
	min-height:auto;
	margin:0 10%;
	padding:0;
	padding-bottom:30px;
}
.attivita-content h2 {
	font-size: 3.23em; /* 42px */
	line-height:42px;
	font-weight:400;
	margin-top:60px;
	margin-bottom:20px;
	text-align:center;
	color: #332B26;
}
.attivita-content p {
	font-size: 1.30em; /* 17px */
	line-height:28px;
	font-weight:400;
	color: #000000;
	text-align:center;
	margin-bottom: 1em;
/* ==========================
   ATTIVITA GRID
========================== */
}
#attivita-list {
  display: block;
  width: 90%;
  margin-left:auto;
  margin-right:auto;
  margin-top:10px;
  margin-bottom:70px;
}

.attivita-grid {
	display: grid;
	/*grid-template-columns: repeat(2, 340px);*/
	grid-template-columns: repeat(2, 1fr);
	gap: 3em 4em;
	margin: 0 auto;
	max-width: 1200px;
}

.attivita-card {
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.attivita-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 15px rgba(0,0,0,0.12);
}

/* immagine principale della card */
.attivita-card > img {
  width: 95%;
  height: 167px;       /* rettangolare lunga */
  object-fit: cover;
  padding: 2.5%;         /* come le news */
  display: block;
}

.attivita-header {
  display: flex;
  align-items: center;
  gap: 0.6em;
}

/* loghino accanto al titolo */
.attivita-logo {
  width: 36px;
  height: auto;
  flex-shrink: 0;
}
.attivita-body {
  padding: 1em 1.2em;
}

.attivita-body h3 {
  font-size: 1.53em; /* 20px */
  line-height: 22px;
  color: var(--color-accent);
  margin: 0;
}

.attivita-body .excerpt {
	font-size: 1.23em; /* 16px */
	line-height:22px;
	font-weight:400;
	color: #000;
	margin-bottom: 1em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;   /* max 2 righe */
	-webkit-box-orient: vertical;
}

.attivita-footer {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 0.8em 1.2em;
	border-top: 1px solid #eee;
}

.attivita-link a {
	color: #000;
	font-size: 1.1em;
	transition: color 0.3s;
	text-decoration: none;
}

.attivita-link:hover {
  color: var(--color-accent);
  text-decoration:none;
/* download pdf */
}
.attivita-download {
  text-align: center;
  margin-top: 3em;
  padding-top: 2em;
  border-top: 1px solid #ddd; /* separatore sottile */
}

.attivita-download p {
  font-size: 1.30em; /*17px */
  color: var(--color-accent);
  margin-bottom: 0.5em;
}

.attivita-download .pdf-link img {
  width: 40px;      /* dimensione icona (regolabile) */
  height: auto;
  transition: transform 0.3s, opacity 0.3s;
}

.attivita-download .pdf-link img:hover {
  transform: scale(1.1);
  opacity: 0.85;
}
}
/* Layout landscape: da 820 px a 1024 px max.  Eredita stili da: Layout mobile e Layout tablet portrait */
@media only screen and (min-width: 820px ) {
/* ATTIVITA' HEADER */
#attivita-header {
	display:inline-block;
	position: relative;
	margin:0;
	padding:0;
	width:100%;
	height:auto;
	background-position:left center;
	background-repeat: no-repeat;
	background-size: auto 100%;  /* l’immagine si adatta in altezza, occupando solo la parte dx */
}
.attivita-hero {
	display:inline-block;
	width:98%;
	margin:0 1%;
	padding:0;
	height:150px;
	background:url("../images/w-transparent.png") no-repeat center center;
	background-position:right center;
	background-repeat: no-repeat;
	background-size: auto 100%;  /* l’immagine si adatta in altezza, occupando solo la parte dx */
	text-align:right;
}
.attivita-overlay h2 {
  font-size: 3.30em; /*43*/
  font-weight:100;
  color: #fff;
  text-transform: uppercase;
  margin:0;
  margin-right:7%;
  margin-top:100px;
  padding: 0;
}
/* Lineetta divisoria */
.attivita-line-vertical {
	position: absolute;
	width: 1px;
	height: 70px;
	background: linear-gradient(to bottom, white 0px, white 20px, #789F26 20px, #789F26 100%);
	top: -20px;
	left: 50%;
/* ATTIVITA' CONTENT */
}
.attivita-content {
	position:relative;
	display:inline-block;
	width:70%;
	min-height:auto;
	margin:0 15%;
	padding:0;
	padding-bottom:30px;
}
.attivita-content h2 {
	font-size: 3.38em; /* 44px */
	line-height:44px;
	font-weight:400;
	margin-top:70px;
	margin-bottom:30px;
	text-align:center;
	color: #332B26;
}
.attivita-content p {
	font-size: 1.38em; /* 18px */
	line-height:28px;
	font-weight:400;
	color: #000000;
	text-align:center;
	margin-bottom: 1em;
/* ==========================
   ATTIVITA GRID
========================== */
}
#attivita-list {
  display: block;
  width: 80%;
  margin-left:auto;
  margin-right:auto;
  margin-top:10px;
  margin-bottom:80px;
}

.attivita-grid {
	display: grid;
	/*grid-template-columns: repeat(2, 340px);*/
	grid-template-columns: repeat(2, 1fr);
	gap: 3em 4em;
	margin: 0 auto;
	max-width: 1200px;
}

.attivita-card {
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.attivita-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 15px rgba(0,0,0,0.12);
}

/* immagine principale della card */
.attivita-card > img {
  width: 95%;
  height: 187px;       /* rettangolare lunga */
  object-fit: cover;
  padding: 2.5%;         /* come le news */
  display: block;
}

.attivita-header {
  display: flex;
  align-items: center;
  gap: 0.6em;
}

/* loghino accanto al titolo */
.attivita-logo {
  width: 36px;
  height: auto;
  flex-shrink: 0;
}
.attivita-body {
  padding: 1em 1.2em;
}

.attivita-body h3 {
  font-size: 1.61em; /* 21px */
  line-height: 22px;
  color: var(--color-accent);
  margin: 0; /* togli margini extra */
}

.attivita-body .excerpt {
	font-size: 1.30em; /* 17px */
	color: #000;
	line-height: 22px;
	font-weight:400;
	margin-bottom: 1em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;   /* max 2 righe */
	-webkit-box-orient: vertical;
}

.attivita-footer {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 0.8em 1.2em;
	border-top: 1px solid #eee;
}

.attivita-link a {
	color: #000;
	font-size: 1.1em;
	transition: color 0.3s;
	text-decoration: none;
}
.attivita-link:hover {
	color: var(--color-accent);
	text-decoration:none;
/* download pdf */
}
.attivita-download {
  text-align: center;
  margin-top: 3em;
  padding-top: 2em;
  border-top: 1px solid #ddd; /* separatore sottile */
}

.attivita-download p {
  font-size: 1.30em; /*17px */
  color: var(--color-accent);
  margin-bottom: 0.5em;
}

.attivita-download .pdf-link img {
  width: 40px;      /* dimensione icona (regolabile) */
  height: auto;
  transition: transform 0.3s, opacity 0.3s;
}

.attivita-download .pdf-link img:hover {
  transform: scale(1.1);
  opacity: 0.85;
}
}
/* Layout desktop: da 1024 px a superiori. Eredita stili da: Layout tablet landscape */
@media only screen and (min-width: 1024px ) {
/* ATTIVITA' HEADER */
#attivita-header {
	display:inline-block;
	position: relative;
	margin:0;
	padding:0;
	width:100%;
	height:auto;
	background-position:left center;
	background-repeat: no-repeat;
	background-size: auto 100%;  /* l’immagine si adatta in altezza, occupando solo la parte dx */
}
.attivita-hero {
	display:inline-block;
	width:90%;
	margin:0 5%;
	padding:0;
	height:160px;
	background:url("../images/w-transparent.png") no-repeat center center;
	background-position:right center;
	background-repeat: no-repeat;
	background-size: auto 100%;  /* l’immagine si adatta in altezza, occupando solo la parte dx */
	text-align:right;
}
.attivita-overlay h2 {
  font-size: 3.84em; /*50px */
  font-weight:100;
  color: #fff;
  text-transform: uppercase;
  margin:0;
  margin-right:6%;
  margin-top:100px;
  padding: 0;
}
/* Lineetta divisoria */
.attivita-line-vertical {
	position: absolute;
	width: 1px;
	height: 80px;
	background: linear-gradient(to bottom, white 0px, white 20px, #789F26 20px, #789F26 100%);
	top: -20px;
	left: 50%;
/* ATTIVITA' CONTENT */
}
.attivita-content {
	position:relative;
	display:inline-block;
	width:60%;
	min-height:auto;
	margin:0 20%;
	padding:0;
	padding-bottom:30px;
}
.attivita-content h2 {
	font-size:3.84em; /* 50px */
	line-height:50px;
	font-weight:400;
	margin-top:90px;
	margin-bottom:30px;
	text-align:center;
	color: #332B26;
}
.attivita-content p {
	font-size: 1.46em; /* 19px */
	line-height:30px;
	font-weight:400;
	color: #000000;
	text-align:center;
	margin-top:0;
	margin-bottom:1em;
	
/* ==========================
   ATTIVITA GRID
========================== */
}
#attivita-list {
  display: block;
  width: 90%;
  max-width: 1200px;
  margin-left:auto;
  margin-right:auto;
  margin-top:15px;
  margin-bottom:90px;
}

.attivita-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  gap: 3em 4em;
  margin: 0 auto;
  max-width: 1200px;
}

.attivita-card {
	background: #fff;
	overflow: hidden;
	box-shadow: 0 4px 10px rgba(0,0,0,0.08);
	display: flex;
	flex-direction: column;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.attivita-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 15px rgba(0,0,0,0.12);
}

/* immagine principale della card */
.attivita-card > img {
  width: 96%;
  height: 207px;       /* rettangolare lunga */
  object-fit: cover;         /* come le news */
  padding:2%;
  display: block;
}

.attivita-header {
  display: flex;
  align-items: center;
  gap: 0.6em;
}

/* loghino accanto al titolo */
.attivita-logo {
  width: 36px;
  height: auto;
  flex-shrink: 0;
}
.attivita-body {
  padding: 1em 1.2em;
}

.attivita-body h3 {
  font-size: 1.69em; /* 22px */
  line-height: 24px;
  color: var(--color-accent);
  margin: 0; /* togli margini extra */
}

.attivita-body .excerpt {
	font-size: 1.38em; /*18px */
	color: #000;
	line-height: 24px;
	font-weight:400;
	margin-bottom: 1em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;   /* max 2 righe */
	-webkit-box-orient: vertical;
}

.attivita-footer {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 0.8em 1.2em;
	border-top: 1px solid #eee;
}

.attivita-link a {
  color: var(--color-accent);
  font-size: 1.1em;
  transition: color 0.3s;
  text-decoration: none;
}
.attivita-link:hover {
  color: var(--color-accent);
  text-decoration:none;
  
/* download pdf */
}
.attivita-download {
  text-align: center;
  margin-top: 3em;
  padding-top: 2em;
  border-top: 1px solid #ddd; /* separatore sottile */
}

.attivita-download p {
  font-size: 1.38em; /*18px */
  color: var(--color-accent);
  margin-bottom: 0.5em;
}

.attivita-download .pdf-link img {
  width: 40px;      /* dimensione icona (regolabile) */
  height: auto;
  transition: transform 0.3s, opacity 0.3s;
}

.attivita-download .pdf-link img:hover {
  transform: scale(1.1);
  opacity: 0.85;
}
}