/* ============================================================
   Seizoensblok homepage (hs-*), bv. Allerzielen.
   Partial: includes/home-seizoen.php. Desktop- en mobiele variant.
   ============================================================ */

.hs-seizoen--desktop{padding-block:var(--space-6) 0;padding-bottom: 50px;}
.hs-seizoen--desktop .hs-wrap{max-width:var(--container);margin:0 auto;padding:0 32px}
.hs-seizoen--mobiel{padding-block:var(--space-5) 0}
.hs-seizoen--mobiel .hs-wrap{padding:0 16px;max-width:560px;margin:0 auto}

.hs-kaart{
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  align-items:stretch;
  background:var(--color-ink);
  color:var(--color-on-dark);
  text-decoration:none;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  transition:box-shadow .2s ease,transform .2s ease;
}
.hs-kaart:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}
.hs-kaart:focus-visible{outline:var(--ring-focus);outline-offset:3px}
.hs-kaart:active{transform:translateY(0)}

.hs-beeld{display:block;min-height:220px;position:relative;overflow:hidden;container-type:size}
.hs-beeld img{display:block;width:100%;height:100%;object-fit:cover}

.hs-tekst{display:flex;flex-direction:column;justify-content:center;gap:var(--space-2);padding:var(--space-5) var(--space-6)}
.hs-kicker{font-size:var(--kicker-size);text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--color-accent)}
.hs-titel{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;font-size:var(--display-2);line-height:1.15;color:var(--color-surface-card)}
.hs-sub{font-size:1rem;line-height:1.6;color:var(--color-on-dark);max-width:46ch}
.hs-link{display:inline-flex;align-items:center;gap:6px;margin-top:var(--space-1);font-weight:600;color:var(--color-accent-soft)}
.hs-kaart:hover .hs-link{color:var(--color-accent)}

/* Flikkerende kaarsjes: laag met dezelfde cover-uitsnede als de foto (3:2, gecentreerd) */
.hs-gloed{position:absolute;left:50%;top:50%;width:max(100cqw,150cqh);height:max(100cqh,66.667cqw);transform:translate(-50%,-50%);pointer-events:none}
.hs-gloed i{
  position:absolute;left:var(--x);top:var(--y);width:calc(var(--s) * 1.7);aspect-ratio:1;
  translate:-50% -50%;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--color-surface-card) 60%,var(--color-accent)) 0%,color-mix(in srgb,var(--color-accent) 70%,transparent) 28%,color-mix(in srgb,var(--color-accent) 25%,transparent) 50%,transparent 70%);
  mix-blend-mode:screen;filter:blur(3px);opacity:.45;
  animation:hs-flakker calc(var(--t) * .6) ease-in-out var(--d) infinite;
  will-change:opacity,transform;
}
@keyframes hs-flakker{
  0%,100%{opacity:.35;transform:scale(1)}
  18%{opacity:.75;transform:scale(1.1)}
  32%{opacity:.45;transform:scale(.96)}
  51%{opacity:.85;transform:scale(1.14)}
  66%{opacity:.4;transform:scale(1)}
  83%{opacity:.68;transform:scale(1.06)}
}

@media (max-width:700px){
  .hs-seizoen--desktop{display:none}
  .hs-kaart{grid-template-columns:1fr}
  .hs-beeld{min-height:0;aspect-ratio:3/2}
  .hs-tekst{padding:var(--space-4)}
  .hs-titel{font-size:1.45rem}
  .hs-sub{font-size:.95rem}
}

@media (prefers-reduced-motion:reduce){
  .hs-kaart{transition:none}
  .hs-gloed i{animation:none;opacity:.5}
  .hs-kaart:hover{transform:none}
}
