/* marlborogold.nl: extra stijlen naast Tailwind */

.marquee { animation: marquee 40s linear infinite; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.pulse-soft { animation: pulse-soft 2s ease-in-out infinite; }
@keyframes pulse-soft { 0%, 100% { opacity: 1; } 50% { opacity: .75; } }

.shake { animation: shake .4s; }
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-8px); }
  40%, 80% { transform: translateX(8px); }
}

.toast-in { animation: toast-in .35s ease-out; }
@keyframes toast-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* Gestileerde sloof (geen echt logo) */
.pack {
  position: relative;
  width: 150px; height: 210px;
  border-radius: 6px;
  background: linear-gradient(180deg, #fff 0 42%, var(--pack-color, #d4af37) 42% 100%);
  box-shadow: 0 20px 40px rgba(0,0,0,.35), inset 0 0 0 1px rgba(0,0,0,.08);
  overflow: hidden;
  font-family: 'Playfair Display', Georgia, serif;
}
.pack::before {
  content: '';
  position: absolute; left: 0; right: 0; top: 18%;
  height: 34%;
  background: var(--pack-color, #d4af37);
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
.pack .pack-name {
  position: absolute; left: 0; right: 0; top: 60%;
  text-align: center; color: #fff;
  font-weight: 800; letter-spacing: .08em; font-size: 15px;
  text-shadow: 0 1px 2px rgba(0,0,0,.3);
}
.pack .pack-sub {
  position: absolute; left: 0; right: 0; top: 72%;
  text-align: center; color: rgba(255,255,255,.9);
  font-family: Inter, sans-serif; font-size: 9px; letter-spacing: .2em; text-transform: uppercase;
}
.pack .pack-warn {
  position: absolute; left: 6px; right: 6px; bottom: 6px;
  background: #111; color: #fff;
  font-family: Inter, sans-serif; font-size: 7px; font-weight: 700;
  text-align: center; padding: 3px 2px; text-transform: uppercase;
}
.pack-lg { transform: scale(1.45) rotate(-6deg); margin: 60px 40px; }
.pack-sm { transform: scale(.7); margin: -30px -22px; }

/* CAPTCHA-code */
.captcha-code {
  font-family: 'Courier New', monospace;
  font-size: 34px; font-weight: 700; letter-spacing: 6px;
  background: repeating-linear-gradient(45deg, #f5ebc4 0 6px, #fff 6px 12px);
  user-select: none; -webkit-user-select: none;
}
.captcha-code span { display: inline-block; }

/* Range inputs */
input[type=range].gold-range { accent-color: #d4af37; }

/* Huisnummerknoppen: lang indrukken op de telefoon zonder selectie of menu */
.hn-btn { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; touch-action: manipulation; }
