/* Opušteno venčanje za 300 ljudi — Pop Zine sticker card with confetti burst on hover */
.card--opusteno{
  --card-warm:#FEFBF3;--card-char:#2D2D2D;--card-coral:#FF6B6B;
  --card-mint:#98D4BB;--card-sun:#FFD93D;--card-peach:#FFB088;
  background:var(--card-warm);overflow:hidden;position:relative;
  border-radius:16px;border:2px solid rgba(45,45,45,.06);
  font-family:'Fredoka',sans-serif;color:var(--card-char);
  transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease;
}
.card--opusteno:is(:hover,.pulse){transform:translateY(-5px);box-shadow:6px 10px 0 rgba(255,107,107,.12)}
.card--opusteno .card__img-wrap{position:relative;overflow:hidden;aspect-ratio:3/2}
.card--opusteno .card__img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .8s ease,filter .5s ease;
  filter:saturate(1.05) brightness(1);
}
.card--opusteno:is(:hover,.pulse) .card__img{transform:scale(1.05);filter:saturate(1.15) brightness(1.02)}
/* Playful gradient overlay */
.card--opusteno .card__img-wrap::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,107,107,.1) 0%,transparent 40%,rgba(255,217,61,.1) 100%);
  pointer-events:none;transition:opacity .5s;opacity:0;
}
.card--opusteno:is(:hover,.pulse) .card__img-wrap::after{opacity:1}
/* Confetti dots on hover */
.card--opusteno .card__img-wrap::before{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  opacity:0;transition:opacity .5s ease;
  background-image:
    radial-gradient(circle 3px,var(--card-coral) 100%,transparent 100%),
    radial-gradient(circle 2px,var(--card-sun) 100%,transparent 100%),
    radial-gradient(circle 3px,var(--card-mint) 100%,transparent 100%),
    radial-gradient(circle 2px,var(--card-peach) 100%,transparent 100%),
    radial-gradient(circle 2px,var(--card-coral) 100%,transparent 100%);
  background-size:80px 70px,60px 90px,90px 60px,70px 80px,50px 50px;
  background-position:10px 10px,40px 50px,70px 20px,20px 60px,55px 35px;
}
.card--opusteno:is(:hover,.pulse) .card__img-wrap::before{opacity:.25}
.card--opusteno .card__badge{
  position:absolute;top:14px;left:14px;
  font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:3px;text-transform:uppercase;
  color:var(--card-warm);
  background:var(--card-coral);
  padding:5px 14px;border-radius:50px;z-index:3;
}
.card--opusteno .card__body{padding:22px 24px 26px}
.card--opusteno .card__year{
  font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:3px;
  color:var(--card-coral);margin-bottom:6px;display:block;
}
.card--opusteno .card__title{
  font-family:'Fredoka',sans-serif;font-weight:600;
  font-size:22px;line-height:1.3;margin-bottom:8px;
  transition:color .4s ease;
}
.card--opusteno:is(:hover,.pulse) .card__title{color:var(--card-coral)}
.card--opusteno .card__desc{
  font-family:'Rubik',sans-serif;font-weight:300;
  font-size:13px;line-height:1.65;color:rgba(45,45,45,.5);
}
/* Coral accent dot at bottom */
.card--opusteno::after{
  content:'';position:absolute;bottom:12px;left:50%;
  width:8px;height:8px;border-radius:50%;
  background:var(--card-coral);transform:translateX(-50%);
  transition:transform .5s ease,opacity .5s ease;opacity:.3;
}
.card--opusteno:is(:hover,.pulse)::after{transform:translateX(-50%) scale(1.5);opacity:.6}
