
.talleres-intro,
.talleres-card,
.contact-card{
  width:min(1180px, calc(100% - 2rem));
  margin:0 auto 2rem;
}
.talleres-card h2{
  margin-bottom:1rem;
}
.talleres-card__media{
  margin:0 0 1.2rem;
  border-radius:18px;
  overflow:hidden;
  border:none;
  background:transparent;
  box-shadow:none;
}
.talleres-card__media img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
}
.talleres-card .cta-row{
  margin-top:1rem;
}
.cta-row--talleres{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}
.cta-row--talleres .cta{
  flex:0 1 auto;
}
@media (min-width: 900px){
  .talleres-card__media.poster img{
    max-height:none;
    object-fit:cover;
    background:transparent;
  }
}


@media (min-width: 768px){
  .talleres-grid-board{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:2rem;
    align-items:start;
  }
  .talleres-card{
    margin-bottom:0;
  }
  .talleres-card .page-card{
    padding:1.2rem 1.2rem 1.4rem;
    background:#ffffff;
    border:1px solid rgba(48,78,102,0.10);
    box-shadow:0 16px 34px rgba(28,44,58,0.14);
    position:relative;
  }
  .talleres-card:nth-child(odd) .page-card{transform:rotate(-1deg);}
  .talleres-card:nth-child(even) .page-card{transform:rotate(1deg);}
  .talleres-card .page-card::before{
    content:'';
    position:absolute;
    top:14px; left:50%;
    width:16px; height:16px;
    transform:translateX(-50%);
    border-radius:50%;
    background:radial-gradient(circle at 35% 35%, #fff 0 20%, #d75252 22% 100%);
    box-shadow:0 3px 8px rgba(0,0,0,0.18);
    z-index:3;
  }
  .talleres-card__media.poster{
    cursor:zoom-in;
    box-shadow:0 10px 24px rgba(0,0,0,0.12);
  }
  .talleres-card__media.poster img{
    transition:transform .25s ease, filter .25s ease;
  }
  .talleres-card__media.poster:hover img{
    transform:scale(1.015);
    filter:saturate(1.02);
  }
}

.lightbox{
  position:fixed;
  inset:0;
  background:rgba(8,16,22,0.88);
  display:none;
  align-items:center;
  justify-content:center;
  padding:3rem 1rem;
  z-index:1600;
}
.lightbox.open{display:flex;}
.lightbox img{
  max-width:min(92vw, 900px);
  max-height:86vh;
  width:auto;
  height:auto;
  border-radius:18px;
  box-shadow:0 16px 40px rgba(0,0,0,0.35);
}
.lightbox-close{
  position:absolute;
  top:18px;
  right:22px;
  width:44px;
  height:44px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,0.14);
  color:#fff;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
}
body.lightbox-open{overflow:hidden;}


@media (min-width: 768px){
  .talleres-grid-board{
    width:min(1260px, calc(100% - 2rem));
    margin:0 auto 4.75rem;
    padding:2.4rem 2rem 3rem;
    border-radius:28px;
    background:linear-gradient(180deg, rgba(230,238,243,0.98) 0%, rgba(215,227,235,0.98) 100%);
    box-shadow:0 22px 48px rgba(34,53,69,0.12), inset 0 0 0 1px rgba(62,95,120,0.08);
    position:relative;
  }
  .contact-card{
    margin-top:2.25rem;
    margin-bottom:3rem;
  }
  .talleres-card .page-card{
    transform-origin:top center;
  }
  .talleres-card:nth-child(1) .page-card{transform:rotate(-1.5deg);}
  .talleres-card:nth-child(2) .page-card{transform:rotate(0.9deg);}
  .talleres-card:nth-child(3) .page-card{transform:rotate(-0.6deg);}
}

@media (max-width: 767px){
  .contact-card{margin-top:1.8rem; margin-bottom:2rem;}
}
