.ciro-activities-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  margin:30px 0;
  align-items:stretch;
}

.ciro-card{
  background:#fff;
  border-radius:22px;
  box-shadow:0 12px 35px rgba(15,35,75,.10);
  overflow:hidden;
  border:1px solid rgba(20,55,120,.08);
  display:flex;
  flex-direction:column;
  height:100%;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  will-change:transform;
}

.ciro-card:hover{
  transform:translateY(-8px);
  box-shadow:0 22px 55px rgba(15,35,75,.18);
  border-color:rgba(16,72,143,.18);
}

.ciro-thumb{
  height:210px;
  overflow:hidden;
  background:#eef3fb;
}

.ciro-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease, filter .45s ease;
}

.ciro-card:hover .ciro-thumb img{
  transform:scale(1.055);
  filter:saturate(1.05) contrast(1.03);
}

.ciro-card-body{
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.ciro-status-pill{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  padding:7px 12px;
  border-radius:999px;
  background:#e8f1ff;
  color:#10488f;
  font-weight:800;
  font-size:12px;
  letter-spacing:.01em;
  margin-bottom:12px;
}

.ciro-status-closed .ciro-status-pill{background:#ffecec;color:#a52828}
.ciro-status-full .ciro-status-pill{background:#fff2d8;color:#9a6500}
.ciro-status-soon .ciro-status-pill{background:#eef2f7;color:#40516d}

.ciro-card h3{
  color:#20345f;
  font-size:23px;
  line-height:1.15;
  text-align:left;
  margin:0 0 12px;
  font-weight:800;
}

.ciro-desc{
  text-align:left;
  color:#596172;
  line-height:1.5;
  margin:0 0 20px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:4.5em;
}

.ciro-line{
  border-top:1px solid #eef1f5;
  padding:11px 0;
  color:#39465f;
  font-size:15px;
}

.ciro-more{
  width:100%;
  margin-top:auto;
  background:#10488f;
  color:#fff;
  border:0;
  border-radius:12px;
  padding:13px 18px;
  font-weight:800;
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
  box-shadow:0 8px 18px rgba(16,72,143,.18);
}

.ciro-more:hover{
  background:#0b3770;
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(16,72,143,.26);
}

.ciro-details{
  display:none;
  margin-top:18px;
  background:#fbfcff;
  border-radius:18px;
  padding:20px;
  border:1px solid #eef1f5;
}

.ciro-details.is-open{display:block}
.ciro-section{margin-bottom:20px}
.ciro-section h4,.ciro-form h4{font-size:20px;color:#20345f;margin:0 0 10px;font-weight:800}
.ciro-section ul{margin:0;padding-left:20px}
.ciro-section li{margin:7px 0}
.ciro-deadlines p{margin:8px 0}
.ciro-form{margin-top:24px;padding-top:18px;border-top:1px solid #e9eef5}
.ciro-single{background:#fff;border-radius:22px;padding:30px;box-shadow:0 12px 35px rgba(15,35,75,.10)}

@media(max-width:900px){
  .ciro-activities-grid{grid-template-columns:1fr;gap:22px}
  .ciro-thumb{height:200px}
}

@media(max-width:600px){
  .ciro-card-body{padding:20px}
  .ciro-card h3{font-size:21px}
  .ciro-thumb{height:185px}
}

.ciro-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom:12px;
}

.ciro-pill-row .ciro-status-pill{
  margin-bottom:0;
}

.ciro-access-pill{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  padding:7px 12px;
  border-radius:999px;
  background:#f1f5f9;
  color:#334155;
  font-weight:800;
  font-size:12px;
  letter-spacing:.01em;
}

.ciro-access-members{
  background:#eaf2ff;
  color:#10488f;
}

.ciro-access-invite{
  background:#fff2d8;
  color:#9a6500;
}

.ciro-access-partners{
  background:#eef8f1;
  color:#227a3a;
}

.ciro-access-all{
  background:#eef8f1;
  color:#227a3a;
}

.ciro-access-note{
  background:#ffffff;
  border:1px solid #e9eef5;
  border-radius:14px;
  padding:14px 16px;
}
