
/* Associazione — sintesi editoriale */
.gc-association-page{display:grid;gap:clamp(42px,6vw,84px)}
.gc-association-story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(28px,5vw,68px);align-items:center}
.gc-association-copy h2,.gc-association-project h2,.gc-association-cta h2{margin:.25em 0 .45em;font-size:clamp(34px,4.6vw,64px);line-height:.98}
.gc-association-copy p,.gc-association-project p,.gc-association-cta p{font-size:clamp(17px,1.25vw,20px);line-height:1.72}
.gc-association-visual{position:relative;margin:0;min-height:420px;overflow:hidden;border-radius:30px;background:#0a1724}
.gc-association-visual img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block;filter:saturate(.92) contrast(1.03)}
.gc-association-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,13,22,.8))}
.gc-association-visual figcaption{position:absolute;left:24px;right:24px;bottom:20px;z-index:2;color:#fff;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.gc-association-values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gc-association-values article{padding:28px;border:1px solid rgba(8,19,31,.1);border-radius:22px;background:#fff;box-shadow:0 18px 46px rgba(8,19,31,.07)}
.gc-association-values span{display:block;margin-bottom:24px;color:var(--copper);font-size:12px;font-weight:900;letter-spacing:.16em}
.gc-association-values h3{margin:0 0 10px;font-size:clamp(24px,2.5vw,34px);color:var(--ink)}
.gc-association-values p{margin:0;color:rgba(8,19,31,.68);line-height:1.6}
.gc-association-project{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,72px);align-items:center;padding:clamp(30px,5vw,64px);border-radius:32px;background:linear-gradient(135deg,#08131f,#123a62);color:#fff}
.gc-association-project-mark{font-family:Georgia,serif;font-size:clamp(42px,6vw,82px);font-weight:900;line-height:.88;color:#f0c45d;text-shadow:0 16px 44px rgba(0,0,0,.3)}
.gc-association-project h2,.gc-association-project p{color:#fff}
.gc-association-project p{color:rgba(255,255,255,.78)}
.gc-association-cta{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-top:8px}
.gc-association-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:480px}
.gc-association-links a{padding:12px 17px;border:1px solid rgba(8,19,31,.14);border-radius:999px;color:var(--ink);background:#fff;text-decoration:none;font-weight:800}
.gc-association-links a:hover{border-color:var(--copper);color:var(--copper)}

/* WhatsApp contatti */
.gc-whatsapp-contact{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:clamp(24px,5vw,56px);align-items:center;margin:clamp(28px,5vw,62px) 0;padding:clamp(26px,4vw,48px);border-radius:28px;background:linear-gradient(135deg,#f6f9f7,#fff);border:1px solid rgba(8,19,31,.1);box-shadow:0 20px 58px rgba(8,19,31,.08)}
.gc-whatsapp-copy h2{margin:.25em 0 .45em;font-size:clamp(30px,4vw,48px);line-height:1.02;color:var(--ink)}
.gc-whatsapp-copy p{max-width:620px;color:rgba(8,19,31,.68);font-size:18px;line-height:1.65}
.gc-whatsapp-button{display:inline-flex;align-items:center;gap:10px;margin-top:8px;padding:13px 20px;border-radius:999px;background:#20b95b;color:#fff!important;text-decoration:none;font-weight:900;box-shadow:0 13px 30px rgba(32,185,91,.24)}
.gc-whatsapp-qr{display:grid;place-items:center;padding:15px;border-radius:22px;background:#fff;box-shadow:0 15px 38px rgba(8,19,31,.12)}
.gc-whatsapp-qr img{display:block;width:100%;height:auto;image-rendering:auto}

/* Dropdown Media separator */
.gc-mainmenu .menu-item-separator>a,.gc-mainmenu .separator{cursor:pointer}

@media(max-width:820px){
  .gc-association-story,.gc-association-project{grid-template-columns:1fr}
  .gc-association-values{grid-template-columns:1fr}
  .gc-association-cta{display:grid;align-items:start}
  .gc-association-links{justify-content:flex-start}
  .gc-whatsapp-contact{grid-template-columns:1fr}
  .gc-whatsapp-qr{width:min(210px,100%);justify-self:center}
}


/* 1.0.4 — Associazione: evita sovrapposizioni */
.gc-association-project{
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:clamp(34px,5vw,64px);
}

.gc-association-project > *{
  min-width:0;
}

.gc-association-project-mark{
  max-width:100%;
  font-size:clamp(34px,4.6vw,64px);
  line-height:.9;
  letter-spacing:-.035em;
  overflow-wrap:normal;
  word-break:normal;
}

.gc-association-project > div:last-child{
  position:relative;
  z-index:1;
}

.gc-association-project > div:last-child h2{
  font-size:clamp(34px,4vw,56px);
}

.gc-association-links{
  max-width:430px;
}

@media(max-width:980px){
  .gc-association-project{
    grid-template-columns:1fr;
  }

  .gc-association-project-mark{
    max-width:12ch;
  }
}


/* 1.0.5 — pagine Valori e Finalità istituzionali */
.gc-association-detail{
  display:grid;
  gap:clamp(34px,5vw,68px);
}

.gc-association-detail-hero{
  max-width:900px;
}

.gc-association-detail-hero h2{
  margin:.2em 0 .4em;
  font-size:clamp(38px,5vw,68px);
  line-height:.98;
  letter-spacing:-.04em;
}

.gc-association-detail-hero p{
  max-width:760px;
  font-size:clamp(18px,1.4vw,21px);
  line-height:1.7;
  color:rgba(8,19,31,.7);
}

.gc-association-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.gc-association-detail-grid article,
.gc-association-purpose-list article{
  padding:28px;
  border:1px solid rgba(8,19,31,.1);
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 44px rgba(8,19,31,.06);
}

.gc-association-detail-grid span{
  display:block;
  margin-bottom:22px;
  color:var(--copper);
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}

.gc-association-detail-grid h3,
.gc-association-purpose-list h3{
  margin:0 0 10px;
  color:var(--ink);
  font-size:clamp(24px,2.3vw,32px);
}

.gc-association-detail-grid p,
.gc-association-purpose-list p{
  margin:0;
  color:rgba(8,19,31,.68);
  line-height:1.65;
}

.gc-association-purpose-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}

.gc-association-detail-quote{
  padding:clamp(30px,5vw,58px);
  border-radius:30px;
  background:linear-gradient(135deg,#08131f,#123a62);
}

.gc-association-detail-quote p{
  max-width:950px;
  margin:0;
  color:#fff;
  font-family:Georgia,serif;
  font-size:clamp(30px,4vw,54px);
  line-height:1.08;
}

@media(max-width:860px){
  .gc-association-detail-grid,
  .gc-association-purpose-list{
    grid-template-columns:1fr;
  }
}
