/* Shared animated CGAC gift card — used on shop.html and events.html */
/* Gift card 3D object */
.gc-card {
  position: relative;
  aspect-ratio: 1.6/1;
  width: 100%;
  perspective: 1600px;
}
.gc-card__shape {
  position: absolute;
  inset: 0;
  border-radius: var(--radius-md);
  background:
    linear-gradient(135deg, #de332b 0%, #f37521 40%, #f9bf20 75%, #932b8e 100%);
  box-shadow:
    0 40px 80px rgba(0,0,0,0.5),
    0 0 0 4px var(--cgac-paper),
    inset 0 0 0 3px rgba(255,255,255,0.5);
  transform: rotate(-6deg) rotateX(8deg) rotateY(-12deg);
  transform-style: preserve-3d;
  overflow: hidden;
  transition: transform 700ms var(--ease-out);
}
.gc-card:hover .gc-card__shape {
  transform: rotate(-3deg) rotateX(4deg) rotateY(-6deg);
}
/* Shimmer band */
.gc-card__shape::before {
  content: '';
  position: absolute; top: 0; left: -50%;
  width: 100%; height: 100%;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,0.45) 50%, transparent 70%);
  animation: gc-shimmer 4s linear infinite;
}
@keyframes gc-shimmer {
  0%   { left: -50%; }
  100% { left: 150%; }
}
/* Subtle texture */
.gc-card__shape::after {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,0.2) 0, transparent 35%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,0.15) 0, transparent 30%);
  pointer-events: none;
}
.gc-card__face {
  position: absolute;
  inset: 0;
  padding: 36px 40px;
  display: flex; flex-direction: column;
  z-index: 2;
  color: var(--cgac-paper);
}
.gc-card__brand {
  font-family: var(--font-display);
  font-size: 14px; letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cgac-paper);
  opacity: 0.85;
  margin-bottom: 18px;
}
.gc-card__name {
  font-family: var(--font-script);
  font-size: clamp(40px, 5vw, 60px);
  color: var(--cgac-paper);
  line-height: 1;
  margin: auto 0;
  transform: rotate(-2deg);
  text-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.gc-card__amount {
  margin-top: auto;
  display: flex; justify-content: space-between; align-items: flex-end;
  font-family: var(--font-display);
  text-transform: uppercase;
}
.gc-card__amount-label { font-size: 11px; letter-spacing: 0.22em; opacity: 0.85; }
.gc-card__amount-num {
  font-size: 36px; letter-spacing: 0.02em;
  text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.gc-card__wax {
  position: absolute;
  top: -20px; right: -16px;
  width: 100px; height: 100px;
  background: radial-gradient(circle at 35% 30%, #e36b2a 0%, #9a2418 70%, #5c1a18 100%);
  border-radius: 50%;
  z-index: 3;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 12px 24px rgba(0,0,0,0.4);
  transform: rotate(-12deg);
  font-family: var(--font-script);
  font-size: 38px;
  color: var(--cgac-paper);
  text-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
.gc-card__wax::before {
  content: '';
  position: absolute; inset: 8px;
  border-radius: 50%;
  border: 1.5px dashed rgba(250,246,239,0.5);
}

.ev-photo.is-giftcard{align-items:center;justify-content:center;padding:9% 8%;background:none;border:0;box-shadow:none;overflow:visible}
.ev-photo.is-giftcard .gc-card{max-width:440px;container-type:inline-size}
.ev-photo.is-giftcard .gc-card__face{padding:6cqw 7cqw}
.ev-photo.is-giftcard .gc-card__brand{font-size:4.6cqw;margin-bottom:2cqw;white-space:nowrap}
.ev-photo.is-giftcard .gc-card__name{font-size:14cqw}
.ev-photo.is-giftcard .gc-card__amount{gap:3cqw;align-items:baseline}
.ev-photo.is-giftcard .gc-card__amount-label{font-size:3.4cqw;white-space:nowrap}
.ev-photo.is-giftcard .gc-card__amount-num{font-size:8.5cqw;white-space:nowrap;line-height:1}
.ev-photo.is-giftcard .gc-card__wax{width:20cqw;height:20cqw;font-size:8cqw;top:-6cqw;right:-5cqw}
