/**
 * CVCS filtered projects: single source of styling.
 * Shared controls first; enhanced cards, typography, read-more and campaigns next.
 * Enabled page IDs: inc/project-tools.php. Do not duplicate in admin or PHP.
 * Higher specificity is deliberate: the legacy header loads main.css after wp_head.
 */
/* Scoped to the projects template; loaded after the theme and admin CSS. */
body.cvcs-projects-page #filtri-sticky,
body.cvcs-projects-page .cvcs-project-nav,
body.cvcs-projects-page .cvcs-crumbs { display: none !important; }
body.cvcs-projects-page { padding-bottom: 0; }
.cvcs-project-route,.cvcs-project-filters,.cvcs-filter-empty {
  width: calc(100% - 32px); max-width: 1140px; margin: 24px auto;
  color: #4e2736; font-family: inherit;
}
.cvcs-project-route { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; padding: 16px 0; border-bottom: 1px solid #d9e7e3; }
.cvcs-project-route div { display: flex; flex-wrap: wrap; gap: 16px; }
.cvcs-project-route a { color: inherit; font-size: 14px; font-weight: 600; text-decoration: none; padding: 8px 0; }
.cvcs-project-route a:hover { text-decoration: underline; }
.cvcs-project-filters:not([hidden]) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; gap: 16px; background: #f1f6f4; border: 1px solid #d9e7e3; border-radius: 8px; padding: 24px; }
.cvcs-project-filters label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; margin: 0; }
.cvcs-project-filters select { width: 100%; min-height: 46px; background: white; color: #4e2736; border: 1px solid #a5bfb6; border-radius: 4px; padding: 8px; font: inherit; }
.cvcs-project-filters button { align-self: end; min-height: 46px; border: 1px solid #44a08d; border-radius: 4px; background: #44a08d; color: white; padding: 8px 20px; font: inherit; font-weight: 600; }
.cvcs-filter-count,.cvcs-filter-note { grid-column: 1/-1; margin: 0; font-size: 13px; }
.cvcs-filter-note { line-height: 1.5; }
.cvcs-project-route a:focus-visible,.cvcs-project-filters :focus-visible { outline: 3px solid #ce644b; outline-offset: 4px; }
body.cvcs-projects-page [hidden] { display: none !important; }
body.cvcs-projects-page .divisore-progetto { display: none; }
body.cvcs-projects-page:not(.cvcs-projects-enhanced) .progetto ~ .progetto { border-top: 1px solid #d9e7e3; margin-top: 48px; padding-top: 48px; }
body.cvcs-projects-page .logo-info { width: 140px; height: 100px; display: flex; align-items: center; }
body.cvcs-projects-page .logo-info img { width: auto; height: auto; max-width: 140px; max-height: 100px; object-fit: contain; }
body.cvcs-projects-page .icona-progetto img { width: auto; height: auto; max-width: 55px; max-height: 60px; }
body.cvcs-projects-page .corpo-progetto img { max-width: 100%; height: auto; }
body.cvcs-projects-page .img-slide img { width: 100%; height: 280px; object-fit: contain; }
@media (max-width: 700px) {
  .cvcs-project-filters:not([hidden]) { grid-template-columns: 1fr; padding: 16px; }
  .cvcs-project-route { gap: 8px; }
  body.cvcs-projects-page .img-slide img { height: 220px; }
}

/* Enhanced layout */
body.cvcs-projects-page.cvcs-projects-enhanced {
  --project-ink:#4e2736;
  --project-green:#337e6e;
  --project-line:#d9e3df;
  --project-background:#f4f6f5;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-intro {
  box-sizing:border-box;
  max-width:1128px;
  width:calc(100% - 32px);
  margin:32px auto 24px;
  padding:28px 32px;
  background:#f5f8f6;
  border-left:3px solid #44a08d;
  border-radius:0 8px 8px 0;
  color:#494449;
  font-family:inherit;
  text-align:left;
  font-size:.96rem;
  line-height:1.9;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-intro p {
  max-width:850px;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:normal;
  text-align:left;
  margin:0 0 16px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-intro p:last-child {
  margin-bottom:0;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-filters:not([hidden]) {
  max-width:1128px;
  margin:32px auto;
  background:#fff;
  border:1px solid var(--project-line);
  border-radius:12px;
  box-shadow:0 8px 24px rgba(35,60,50,.05);
  padding:24px;
  gap:20px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-filters label {
  font-size:.82rem;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-search {
  grid-column:1/-1;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-filters select,
body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-filters input[type="search"] {
  box-sizing:border-box;
  width:100%;
  border:1px solid #b9cac3;
  border-radius:6px;
  min-height:48px;
  padding:10px 12px;
  background:#fff;
  color:var(--project-ink);
  font:inherit;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-filters button {
  min-height:48px;
  border-radius:6px;
  background:var(--project-green);
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-filter-count {
  font-weight:600;
  font-size:.9rem;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-filter-note {
  color:#6b6669;
  font-size:.8rem;
}

body.cvcs-projects-page.cvcs-projects-enhanced .progetti-mondo {
  background:var(--project-background);
  padding:48px 0 8px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .progetti-mondo>.container {
  max-width:1160px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .progetti-mondo>.container>.row .title {
  text-align:left;
  font-size:1.6rem;
  margin:0 0 28px;
  padding:0;
}

body.cvcs-projects-page.cvcs-projects-enhanced .progetto {
  background:#fff;
  border:1px solid var(--project-line);
  border-top:4px solid #44a08d;
  border-radius:12px;
  box-shadow:0 8px 24px rgba(35,60,50,.06);
  padding:0;
  margin:0 0 48px;
  overflow:hidden;
  scroll-margin-top:110px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .intestazione-progetto {
  background:#fff;
  padding:30px 32px;
  border-bottom:1px solid var(--project-line);
  margin:0;
}

body.cvcs-projects-page.cvcs-projects-enhanced .intestazione-progetto>.row {
  align-items:center;
  row-gap:20px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .info-progetto {
  display:flex;
  gap:20px;
  justify-content:space-between;
  align-items:center;
}

body.cvcs-projects-page.cvcs-projects-enhanced .intestazione-progetto .info-progetto .luogo-progetto {
  font-size:.76rem;
  letter-spacing:.12em;
  font-weight:700;
  color:var(--project-green);
  margin:0 0 10px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .intestazione-progetto .info-progetto .nome-progetto {
  font-size:clamp(1.35rem,2.1vw,1.9rem);
  line-height:1.4;
  font-weight:600;
  margin:0;
  overflow-wrap:anywhere;
}

body.cvcs-projects-page.cvcs-projects-enhanced .intestazione-progetto .info-progetto .icona-progetto {
  flex:0 0 36px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .icona-progetto img {
  max-width:36px;
  max-height:36px;
  width:auto;
  height:auto;
}

body.cvcs-projects-page.cvcs-projects-enhanced .info-secondarie {
  padding:0;
  margin:0;
}

body.cvcs-projects-page.cvcs-projects-enhanced .info-secondarie p {
  font-size:.75rem;
  color:#6b6669;
  margin:0 0 10px;
  line-height:1.4;
}

body.cvcs-projects-page.cvcs-projects-enhanced .intestazione-progetto .info-secondarie .logo-info {
  width:140px;
  max-width:100%;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

body.cvcs-projects-page.cvcs-projects-enhanced .logo-info img {
  max-width:140px;
  max-height:72px;
  width:auto;
  height:auto;
  object-fit:contain;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-preview {
  display:flex;
  gap:28px;
  align-items:center;
  padding:28px 32px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-preview-image {
  flex:0 0 32%;
  min-width:0;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-preview-image img {
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:210px;
  object-fit:contain;
  margin:0 auto;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-preview p {
  font-size:.94rem;
  line-height:1.95;
  margin:0;
  color:#494449;
  flex:1;
  min-width:0;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-more>summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px 32px;
  border-top:1px solid var(--project-line);
  color:var(--project-green);
  font-size:.9rem;
  font-weight:600;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-more>summary::-webkit-details-marker {
  display:none;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-more>summary::after {
  content:'+';
  margin-left:auto;
  font-size:1.2rem;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-more[open]>summary::after {
  content:'−';
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-more>summary:focus-visible {
  outline:2px solid var(--project-green);
  outline-offset:-5px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-read-less {
  display:none;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-more[open] .cvcs-read-more {
  display:none;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-more[open] .cvcs-read-less {
  display:inline;
}

body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto {
  padding:32px;
  margin:0;
}

body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto>.row {
  row-gap:24px;
  --bs-gutter-x:36px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto .paragraph {
  font-size:.94rem;
  line-height:1.95;
  letter-spacing:.005em;
  color:#494449;
}

body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto p,
body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto li {
  font-size:inherit;
  line-height:1.95;
  text-align:left;
}

body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto p {
  margin:0 0 1.45em;
}

body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto ul,
body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto ol {
  padding-left:1.4em;
  margin-bottom:1.5em;
}

body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto li {
  margin-bottom:.7em;
}

body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto strong,
body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto b {
  font-weight:600;
  color:var(--project-ink);
}

body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto img {
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:360px;
  object-fit:contain;
  margin:24px auto;
}

body.cvcs-projects-page.cvcs-projects-enhanced .partner-progetto {
  margin:0;
  padding:24px 32px;
  background:#f8faf9;
  border-top:1px solid var(--project-line);
}

body.cvcs-projects-page.cvcs-projects-enhanced .partner-progetto .title-partner {
  font-size:1rem;
  margin:0 0 16px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .partner-progetto .nome-partner {
  font-size:.8rem;
  line-height:1.85;
  margin:0 0 12px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .slideshow-progetto {
  margin:0;
  padding:0 32px 28px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .slideshow-progetto>.row {
  display:block;
}

body.cvcs-projects-page.cvcs-projects-enhanced .mySwiper {
  overflow:visible;
  width:100%;
}

body.cvcs-projects-page.cvcs-projects-enhanced .swiper-wrapper {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  transform:none;
  width:100%;
  height:auto;
}

body.cvcs-projects-page.cvcs-projects-enhanced .swiper-slide {
  width:auto;
  height:auto;
  margin:0;
  min-width:0;
}

body.cvcs-projects-page.cvcs-projects-enhanced .slideshow-progetto .img-slide {
  height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  background:var(--project-background);
  border-radius:6px;
  overflow:hidden;
}

body.cvcs-projects-page.cvcs-projects-enhanced .slideshow-progetto .img-slide img {
  display:block;
  width:100%;
  max-width:100%;
  height:100%;
  max-height:200px;
  object-fit:contain;
  object-position:center;
  margin:0;
}

body.cvcs-projects-page.cvcs-projects-enhanced .swiper-button-next,
body.cvcs-projects-page.cvcs-projects-enhanced .swiper-button-prev {
  display:none;
}

body.cvcs-projects-page.cvcs-projects-enhanced section.cvcs-project-campaign {
  background:var(--project-background);
  padding:8px 16px 48px;
  color:var(--project-ink);
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign>.container {
  max-width:1128px;
  padding:32px;
  background:#fff;
  border:1px solid var(--project-line);
  border-radius:12px;
  box-shadow:0 8px 24px rgba(35,60,50,.05);
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign>.container>.row {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  gap:24px 36px;
  margin:0;
  align-items:center;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign>.container>.row>.col-12 {
  width:100%;
  max-width:100%;
  padding:0;
  min-width:0;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign>.container>.row>.col-12:first-child {
  grid-column:1/-1;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign h2.title {
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:left;
  color:var(--project-green);
  padding:0;
  margin:0;
  font-weight:600;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign .paragraph {
  color:#494449;
  font-size:.94rem;
  line-height:1.95;
  text-align:left;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign .post-title {
  font-size:clamp(1.25rem,2vw,1.65rem);
  line-height:1.4;
  color:var(--project-ink);
  font-weight:600;
  margin:0 0 20px;
  text-align:left;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign p {
  font-size:inherit;
  line-height:inherit;
  margin:0;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign a {
  color:var(--project-green);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:600;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign>.container>.row>.col-12:last-child {
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f8faf9;
  border-radius:6px;
  padding:20px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign img {
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:300px;
  object-fit:contain;
  margin:0 auto;
}

body.cvcs-projects-page.cvcs-projects-enhanced nav.cvcs-fork[aria-label="Progetti"],
body.cvcs-projects-page.cvcs-projects-enhanced section:has(> nav.cvcs-fork[aria-label="Progetti"]) {
  display:none;
}

@media(max-width:767px) {
body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-intro {
  padding:22px 20px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-filters:not([hidden]) {
  grid-template-columns:1fr;
  padding:20px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .progetti-mondo {
  padding-top:28px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .intestazione-progetto,
body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto {
  padding:24px 20px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .progetto {
  margin-bottom:32px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-preview {
  padding:24px 20px;
  flex-direction:column;
  align-items:stretch;
  gap:20px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-preview-image {
  flex-basis:auto;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-more>summary {
  padding:18px 20px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .corpo-progetto .paragraph {
  font-size:.92rem;
}

body.cvcs-projects-page.cvcs-projects-enhanced .slideshow-progetto {
  padding:0 20px 24px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .swiper-wrapper {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

body.cvcs-projects-page.cvcs-projects-enhanced .slideshow-progetto .img-slide {
  height:180px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .slideshow-progetto .img-slide img {
  max-height:160px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .partner-progetto {
  padding:20px;
}

body.cvcs-projects-page.cvcs-projects-enhanced section.cvcs-project-campaign {
  padding-bottom:32px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign>.container {
  padding:24px 20px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign>.container>.row {
  grid-template-columns:1fr;
  gap:20px;
}

body.cvcs-projects-page.cvcs-projects-enhanced .cvcs-project-campaign img {
  max-height:240px;
}
}

@media(max-width:440px) {
body.cvcs-projects-page.cvcs-projects-enhanced .swiper-wrapper {
  grid-template-columns:1fr;
}
}
