
.calendar-page{max-width:1200px}
.calendar-hero{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;overflow:hidden;position:relative}
.calendar-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,196,0,.18),transparent 35%);pointer-events:none}
.calendar-hero>*{position:relative}
.eyebrow{font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.small-note{opacity:.8;margin-top:.8rem}
.hero-vote-box{min-width:170px;text-align:center;border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:1.2rem;background:rgba(0,0,0,.22)}
.big-number{display:block;font-size:3rem;font-weight:900;line-height:1}
.filter-card{position:sticky;top:0;z-index:5}
.calendar-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:.8rem;align-items:end}
.calendar-filters label{font-weight:700}
.calendar-filters input,.calendar-filters select{width:100%;margin-top:.35rem;padding:.75rem;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.25);color:inherit}
.calendar-results{display:grid;gap:.9rem;margin-top:1rem}
.event-card{display:grid;grid-template-columns:150px 1fr 170px;gap:1rem;align-items:center;padding:1rem;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.event-card:hover{transform:translateY(-1px);border-color:rgba(255,196,0,.45)}
.event-date{font-weight:900;font-size:1.05rem;color:#ffd35a}
.event-main h2{margin:.1rem 0 .35rem;font-size:1.25rem}
.event-place{margin:.2rem 0;font-weight:700}
.event-category{display:inline-block;margin:.2rem 0 0;padding:.25rem .55rem;border-radius:999px;background:rgba(255,255,255,.11);font-size:.85rem;opacity:.9}
.vote-box{display:grid;gap:.45rem;text-align:center}
.vote-box button{cursor:pointer;border:0;border-radius:999px;padding:.8rem 1rem;font-weight:900;background:#ffd35a;color:#171717}
.vote-box button:hover{filter:brightness(1.05);transform:scale(1.02)}
.vote-box span{font-weight:800;opacity:.9}
.top-card h2{margin-top:0}
.top-list{display:grid;gap:.45rem}
.top-list span{opacity:.75}
@media (max-width:850px){
  .calendar-hero{grid-template-columns:1fr}
  .calendar-filters{grid-template-columns:1fr}
  .event-card{grid-template-columns:1fr;align-items:start}
  .vote-box{text-align:left}
  .vote-box button{width:100%}
  .hero-vote-box{min-width:0}
}

.calendar-page{
  max-width:1200px;
}

.calendar-hero{
  background:
    linear-gradient(135deg,rgba(255,211,90,.18),rgba(255,255,255,.05)),
    url("/assets/camera-bg.jpg");
}

.filter-card{
  position:relative;
  top:auto;
}

.calendar-filters input,
.calendar-filters select{
  background:#101010;
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}

.calendar-filters input::placeholder{
  color:#999;
}

.calendar-filters button,
.calendar-filters .btn{
  min-height:44px;
}

.event-card{
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045));
  color:#fff;
}

.event-main h2{
  color:#fff;
}

.event-date{
  background:rgba(255,211,90,.12);
  border:1px solid rgba(255,211,90,.22);
  padding:.8rem;
  border-radius:16px;
}

.event-place{
  color:#fff;
}

.vote-box button{
  box-shadow:0 8px 20px rgba(255,184,0,.22);
}

.hero-vote-box{
  background:rgba(0,0,0,.38);
}

@media(max-width:850px){
  .calendar-filters{
    grid-template-columns:1fr;
  }
  .event-date{
    width:100%;
  }
}

.blink-warning{
  color:#ffd35a;
  font-weight:900;
  animation: ckBlink 1.2s infinite;
}

@keyframes ckBlink{
  0%,100%{opacity:1}
  50%{opacity:.25}
}

.swish-blink{
  display:inline-block;
  margin-top:.65rem;
  color:#ffd35a;
  font-weight:900;
  animation: swishSlowBlink 2.8s infinite;
}

@keyframes swishSlowBlink{
  0%,100%{opacity:1}
  50%{opacity:.35}
}

.swish-link{
  color:#ffd35a;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:4px;
}

.swish-link:hover{
  color:#fff;
}

/* Kalender mobilfix */
.calendar-filters,
.calendar-results,
.event-card,
.event-main,
.vote-box{
  max-width:100%;
}

.event-card{
  overflow:hidden;
}

.event-date,
.event-main h2,
.event-place,
.event-category{
  overflow-wrap:anywhere;
}

@media(max-width:850px){
  .calendar-filters{
    display:grid;
    grid-template-columns:1fr !important;
  }

  .event-card{
    display:grid;
    grid-template-columns:1fr !important;
  }

  .hero-vote-box{
    width:100%;
  }
}

.visitor-count{
  display:block;
  margin-top:.65rem;
  font-size:.95rem;
  color:#ffd35a;
  font-weight:900;
}

/* Tydligare varningstext i kalendern */
.blink-warning{
  font-size:1.08rem;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:2px;
}

.support-label{
  color:#d6d6d6;
  font-weight:700;
}

.swish-line{
  color:#7dd3fc;
  font-weight:900;
}

.swish-line .swish-link,
.swish-link{
  color:#7dd3fc;
  text-decoration:underline;
  text-underline-offset:3px;
}

.swish-line .swish-link:hover,
.swish-link:hover{
  color:#bae6fd;
}


/* Stöd/Swish: båda raderna cyan/blå + underline + långsam blink */
.support-blink,
.support-blink .swish-link{
  color:#38bdf8 !important;
  font-weight:900 !important;
  text-decoration:underline !important;
  text-underline-offset:4px !important;
  text-decoration-thickness:2px !important;
}

.support-blink{
  display:inline-block;
  animation: supportSoftBlink 2.6s infinite;
}

.support-blink .swish-link:hover{
  color:#bae6fd !important;
}

@keyframes supportSoftBlink{
  0%,100%{opacity:1}
  50%{opacity:.35}
}

/* Slutlig stil för stöd/Swish */
.support-static{
  color:#38bdf8 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  animation:none !important;
}

.swish-only-blink,
.swish-only-blink .swish-link,
.swish-line,
.swish-line .swish-link,
.swish-link{
  color:#38bdf8 !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

.swish-only-blink{
  display:inline-block;
  animation: swishOnlySoftBlink 2.6s infinite;
}

@keyframes swishOnlySoftBlink{
  0%,100%{opacity:1}
  50%{opacity:.35}
}

/* Slutlig stil för stöd/Swish */
.support-static{
  color:#38bdf8 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  animation:none !important;
}

.swish-only-blink,
.swish-only-blink .swish-link,
.swish-line,
.swish-line .swish-link,
.swish-link{
  color:#38bdf8 !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

.swish-only-blink{
  display:inline-block;
  animation: swishOnlySoftBlink 2.6s infinite;
}

@keyframes swishOnlySoftBlink{
  0%,100%{opacity:1}
  50%{opacity:.35}
}

/* Slutlig stödtext utan blink */
.support-static,
.swish-static,
.swish-static .swish-link{
  color:#38bdf8 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  animation:none !important;
}

.support-blink,
.swish-only-blink,
.swish-line,
.swish-blink{
  animation:none !important;
}

/* Test: mörkröd stödtext */
.support-static,
.swish-static,
.swish-static .swish-link{
  color:#8b1e1e !important;
  font-weight:900 !important;
  text-decoration:none !important;
  animation:none !important;
}

/* Slutlig: kritvit stödtext */
.support-static,
.swish-static,
.swish-static .swish-link{
  color:#ffffff !important;
  font-weight:900 !important;
  text-decoration:none !important;
  animation:none !important;
}

/* Introtext kalender: cyan/blå, ingen storleksändring */
.calendar-hero .lead{
  color:#38bdf8 !important;
}

/* Stödtext/Swish: kritvit och samma storlek som introtext */
.support-static,
.swish-static,
.swish-static .swish-link{
  color:#ffffff !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:900 !important;
  text-decoration:none !important;
  animation:none !important;
}


/* CanonKillarna – highlight på sök/filtrering */
.calendar-filters label:nth-child(1) input,
.calendar-filters label:nth-child(2) select,
.calendar-filters label:nth-child(3) select{
  border:1px solid rgba(67, 200, 255, .95) !important;
  box-shadow:
    0 0 0 1px rgba(67, 200, 255, .18),
    0 0 10px rgba(67, 200, 255, .14);
  animation: ckFilterPulse 3.2s ease-in-out infinite;
}

.calendar-filters label:nth-child(1) input:focus,
.calendar-filters label:nth-child(2) select:focus,
.calendar-filters label:nth-child(3) select:focus{
  outline:none;
  border:1px solid rgba(67, 200, 255, 1) !important;
  box-shadow:
    0 0 0 2px rgba(67, 200, 255, .22),
    0 0 14px rgba(67, 200, 255, .22);
}

@keyframes ckFilterPulse{
  0%,100%{
    box-shadow:
      0 0 0 1px rgba(67, 200, 255, .16),
      0 0 8px rgba(67, 200, 255, .10);
  }
  50%{
    box-shadow:
      0 0 0 2px rgba(67, 200, 255, .24),
      0 0 14px rgba(67, 200, 255, .18);
  }
}

