

/*Force story categories to diaplsy as list instead of grid*/

.story-tax-loop-grid .elementor-loop-container.elementor-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;

  /* neutralise grid behaviour */
  grid-template-columns: none;
  grid-auto-rows: auto;
}

.story-tax-loop-grid .elementor-loop-container.elementor-grid > .e-loop-item {
  width: auto;
  flex: 0 0 auto;
}

.story-tax-loop-grid .elementor-loop-container {
  align-items: flex-start;
}

@media (max-width: 768px) {
  .story-tax-loop-grid .elementor-loop-container {
    gap: 10px;
  }
}




/*Pull through category colours for homepage story cards ()*/

.story-card__panel{
  background: linear-gradient(
    180deg,
    transparent 0%,
    transparent 46%,
    var(--cat-colour) 46%,
    var(--cat-colour) 100%
  ) !important;
}



/*Andy Easter egg*/

/* Overlay */
#andy-easter-egg {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(0, 0, 0, 0.92);
  display: grid;
  place-items: center;
  opacity: 1;
  transition: opacity 1s ease;
}

#andy-easter-egg.hide {
  opacity: 0;
}

/* Container */
#andy-easter-egg .andy-wrap {
  position: relative;
  width: min(90vw, 1100px);
  height: min(90vh, 700px);
  overflow: hidden;
  isolation: isolate;
}

/* Image */
#andy-easter-egg .andy-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  animation: andy-rotate 5s linear infinite, andy-pulse 1.2s ease-in-out infinite;
  transform-origin: center;
}

/* Rotation + zoom */
@keyframes andy-rotate {
  0%   { transform: rotate(-1.5deg) scale(1.02); }
  50%  { transform: rotate(1.5deg) scale(1.06); }
  100% { transform: rotate(-1.5deg) scale(1.02); }
}

@keyframes andy-pulse {
  0%, 100% { filter: contrast(1.05) saturate(1.1); }
  50%      { filter: contrast(1.3) saturate(1.4); }
}

/* Scanlines */
#andy-easter-egg .scanlines {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,0.06),
    rgba(255,255,255,0.06) 1px,
    transparent 3px,
    transparent 6px
  );
  opacity: 0.2;
  pointer-events: none;
  animation: scan 700ms linear infinite;
}

@keyframes scan {
  from { transform: translateY(0); }
  to   { transform: translateY(12px); }
}

/* Noise */
#andy-easter-egg .noise {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  opacity: 0.12;
  pointer-events: none;
  animation: noise 250ms steps(2) infinite;
}

@keyframes noise {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(-2px, 1px); }
  50%  { transform: translate(1px, -2px); }
  75%  { transform: translate(2px, 2px); }
  100% { transform: translate(0, 0); }
}



/*ACF repeatier fiels contact-social buttons*/

.acf-repeater-btns{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content: center;
}

.acf-repeater-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 25px 12px 25px;
  border-radius:999px;
  text-decoration:none;
  font-size: 1.2rem;
  font-family: georgia;
  font-style: italic;
  border:2px solid white;
  color: white;
}

.acf-repeater-btn:hover{
  text-decoration:none;
  color: black;
  background-color:white;
}

.acf-repeater-btn:focus-visible{
  outline:3px solid currentColor;
  outline-offset:3px;
}





