/* Zimsko venčanje — Storybook card with snow on hover */
.card--zimsko{
  --card-bg:#F8F3EE;--card-text:#2A1A1A;--card-accent:#C0392B;--card-accent2:#6FA8C7;
  background:var(--card-bg);border-radius:8px;overflow:hidden;position:relative;
  border:1px solid rgba(192,57,43,.12);
  font-family:'Cardo',Georgia,serif;color:var(--card-text);
  transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease;
}
.card--zimsko:hover{transform:translateY(-5px);box-shadow:0 20px 60px rgba(192,57,43,.12)}
.card--zimsko .card__img-wrap{position:relative;overflow:hidden;aspect-ratio:4/3}
.card--zimsko .card__img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;filter:saturate(.9) brightness(.95)}
.card--zimsko:hover .card__img{transform:scale(1.04)}
.card--zimsko .card__badge{
  position:absolute;top:14px;right:14px;
  font-family:'Caveat',cursive;font-size:16px;color:var(--card-accent);
  background:rgba(248,243,238,.9);padding:4px 14px;border-radius:20px;
}
.card--zimsko .card__body{padding:22px 24px 26px}
.card--zimsko .card__year{
  font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:3px;
  text-transform:uppercase;color:var(--card-accent2);margin-bottom:6px;display:block;
}
.card--zimsko .card__title{
  font-family:'Cardo',Georgia,serif;font-size:22px;font-style:italic;
  line-height:1.3;margin-bottom:8px;color:var(--card-accent);
}
.card--zimsko .card__desc{
  font-family:'DM Sans',sans-serif;font-size:13px;line-height:1.6;
  color:rgba(42,26,26,.55);
}
/* Snowfall layer 1 — large flakes, hidden until hover */
.card--zimsko .card__img-wrap::after{
  content:'';position:absolute;inset:-30px -10px;pointer-events:none;
  background-image:
    radial-gradient(2.5px 2.5px at 10% 10%,rgba(255,255,255,.9),transparent),
    radial-gradient(2px 2px at 25% 30%,rgba(255,255,255,.7),transparent),
    radial-gradient(3px 3px at 45% 5%,rgba(255,255,255,.6),transparent),
    radial-gradient(2px 2px at 65% 20%,rgba(255,255,255,.8),transparent),
    radial-gradient(2.5px 2.5px at 80% 35%,rgba(255,255,255,.7),transparent),
    radial-gradient(2px 2px at 15% 55%,rgba(255,255,255,.5),transparent),
    radial-gradient(3px 3px at 55% 50%,rgba(255,255,255,.6),transparent),
    radial-gradient(2px 2px at 90% 60%,rgba(255,255,255,.8),transparent),
    radial-gradient(2.5px 2.5px at 35% 75%,rgba(255,255,255,.5),transparent),
    radial-gradient(2px 2px at 70% 80%,rgba(255,255,255,.7),transparent);
  background-size:100% 50%;
  opacity:0;transition:opacity .6s ease;
  animation:snowFall1 6s linear infinite paused;
}
/* Snowfall layer 2 — small flakes */
.card--zimsko .card__img-wrap::before{
  content:'';position:absolute;inset:-20px -5px;pointer-events:none;z-index:1;
  background-image:
    radial-gradient(1.5px 1.5px at 8% 15%,rgba(255,255,255,.7),transparent),
    radial-gradient(1px 1px at 22% 40%,rgba(255,255,255,.6),transparent),
    radial-gradient(1.5px 1.5px at 38% 8%,rgba(255,255,255,.5),transparent),
    radial-gradient(1px 1px at 52% 55%,rgba(255,255,255,.7),transparent),
    radial-gradient(1.5px 1.5px at 68% 25%,rgba(255,255,255,.6),transparent),
    radial-gradient(1px 1px at 82% 48%,rgba(255,255,255,.5),transparent),
    radial-gradient(1.5px 1.5px at 18% 70%,rgba(255,255,255,.6),transparent),
    radial-gradient(1px 1px at 75% 72%,rgba(255,255,255,.7),transparent);
  background-size:100% 50%;
  opacity:0;transition:opacity .6s ease;
  animation:snowFall2 4s linear infinite paused;
}
/* Activate snow on hover */
.card--zimsko:hover .card__img-wrap::after{opacity:1;animation-play-state:running}
.card--zimsko:hover .card__img-wrap::before{opacity:1;animation-play-state:running}
@keyframes snowFall1{
  0%{transform:translateY(-50%) translateX(0)}
  100%{transform:translateY(0%) translateX(6px)}
}
@keyframes snowFall2{
  0%{transform:translateY(-50%) translateX(0)}
  100%{transform:translateY(0%) translateX(-4px)}
}
/* Snowflake accent */
.card--zimsko::after{
  content:'❄';position:absolute;top:12px;left:14px;font-size:14px;
  color:var(--card-accent2);opacity:.4;
}
