/* ============================================================
   Hairy Melon — Playful overrides (shared across A & B)
   Adds on top of site.css
   ============================================================ */

/* Hand-drawn fallback */
/* Caveat is loaded from each page <head>; no @import here (it blocked rendering and duplicated the request) */

/* Chinchilla loaded via Adobe Fonts (kit tyo1dth) in each page <head> */
:root {
  --playful-display: 'chinchilla', 'Anton', 'Impact', sans-serif;
  --hand: 'Caveat', cursive;
}

/* Custom cursor — dialed back: hidden, native cursor used */
.cursor-dot, .cursor-ring { display: none !important; }

/* Hand-drawn squiggle underline (used inline) */
.scribble {
  position: relative;
  display: inline-block;
  white-space: nowrap;
}
.scribble::after {
  content: "";
  position: absolute;
  left: -2%; right: -2%; bottom: -0.12em;
  height: 0.22em;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'><path d='M2 8 Q 25 1, 50 6 T 100 6 T 150 6 T 198 6' fill='none' stroke='%23C8454A' stroke-width='3' stroke-linecap='round'/></svg>");
  background-repeat: no-repeat; background-size: 100% 100%;
}

/* Hovers — squishy bounce */
.bounce-hover { transition: transform .35s cubic-bezier(.34,1.56,.64,1); transform-origin: center; will-change: transform; }
.bounce-hover:hover { transform: scale(1.04) rotate(-1deg); }

/* Wobble-on-hover for chips/buttons */
.wobble:hover { animation: wobble .5s ease; }
@keyframes wobble {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg); }
  75% { transform: rotate(-2deg); }
}

/* Decorative star (coral) */
.star {
  display: inline-block;
  width: 1em; height: 1em;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1 L13.5 9 L22 10 L15.5 14.5 L18 23 L12 18.5 L6 23 L8.5 14.5 L2 10 L10.5 9 Z' fill='%23C8454A'/></svg>");
  background-size: contain; background-repeat: no-repeat;
}

/* Squiggle line svg helper */
.squiggle-line {
  display: inline-block;
  width: 100%; height: 14px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 14' preserveAspectRatio='none'><path d='M2 7 Q 18 0, 36 7 T 72 7 T 108 7 T 144 7 T 180 7 T 216 7' fill='none' stroke='%23C8454A' stroke-width='2.5' stroke-linecap='round'/></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

/* Asterisk decoration */
.asterisk {
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--coral);
  font-family: 'Newsreader', serif;
  font-style: italic;
  font-weight: 400;
  line-height: 0.6;
}

/* Sticker (used in Direction B) */
.sticker {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 18px;
  background: var(--coral); color: var(--cream);
  border-radius: 999px;
  font-family: 'Archivo', sans-serif; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.1em; font-size: 11px;
  box-shadow: 0 6px 0 rgba(168,52,56,0.35);
  transform: rotate(-4deg);
  transition: transform .25s cubic-bezier(.34,1.56,.64,1);
}
.sticker:hover { transform: rotate(4deg) scale(1.06); }
.sticker.hand { font-family: var(--hand); font-size: 22px; letter-spacing: 0; text-transform: none; padding: 8px 18px; line-height: 1; }

/* Washi-tape strip */
.tape {
  position: absolute;
  width: 90px; height: 22px;
  background: rgba(200, 69, 74, 0.55);
  background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.18) 0 4px, transparent 4px 10px);
  border-left: 2px dashed rgba(255,255,255,0.25);
  border-right: 2px dashed rgba(255,255,255,0.25);
  pointer-events: none;
}

/* Polaroid frame */
.polaroid {
  background: var(--cream);
  padding: 12px 12px 36px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.08);
  transition: transform .35s cubic-bezier(.34,1.56,.64,1);
}
.polaroid .caption {
  text-align: center;
  font-family: var(--hand);
  font-size: 22px;
  color: var(--ink);
  line-height: 1;
  margin-top: 16px;
}

/* "Big condensed" display headline */
.bigword {
  font-family: var(--playful-display);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  line-height: 0.88;
}

/* Direction-A nav tweak: bolder coral active */
.nav-link.active { color: var(--coral); }

/* Unified marquee typography — one treatment on every page */
.playful .marquee-track > span {
  font-family: var(--playful-display);
  text-transform: uppercase;
  letter-spacing: -0.005em;
  font-size: 44px;
  font-weight: 400;
}
.playful .marquee-track > span .it {
  font-family: 'Newsreader', serif;
  text-transform: none;
  font-style: italic;
  color: var(--coral-soft);
  letter-spacing: 0;
}

/* Product-card set eyebrow — set name lives here, card title is the colourway */
.playful .pcard .set-label {
  margin-top: 16px;
  padding: 0 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}
.playful .pcard .set-label + .caption-row { margin-top: 6px; }

/* Product-card hover swap — tee front → shorts (reveals the full set) */
.playful .pcard .pic .prod-img.alt { opacity: 0; transition: opacity .35s ease; }
.playful .pcard:hover .pic .prod-img.alt,
.playful .pcard a:focus-visible .pic .prod-img.alt { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .playful .pcard .pic .prod-img.alt { transition: none; }
}

/* Gallery thumbnails are now <button> — strip UA chrome */
button.thumb { -webkit-appearance: none; appearance: none; background: none; margin: 0; font: inherit; color: inherit; text-align: inherit; }

/* Size-selection error (add-to-bag guard) */
.size-error { margin: 12px 0 0; color: var(--coral-deep); font-family: 'Archivo', sans-serif; font-weight: 600; font-size: 13px; }
.size-error.shake { animation: hm-shake .4s ease; }
@keyframes hm-shake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-5px)} 40%{transform:translateX(5px)} 60%{transform:translateX(-3px)} 80%{transform:translateX(3px)} }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn:disabled:hover { background: var(--ink); }

/* ============================================================
   Real product photography (flat lays on cream)
   Drop-in replacement for .ph-stripes placeholder tiles.
   ============================================================ */
.prod-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center; /* crops are pre-framed in assets/crops/ */
  display: block;
  background: #f3eee4;
}
/* tiles that carry a photo shouldn't also paint a flat colour or stripes */
.has-photo { background: #f3eee4 !important; background-image: none !important; }

/* Tiny icon set — mask-based, inherits currentColor */
.ic{display:inline-block;width:1em;height:1em;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;vertical-align:-0.12em}
.ic-heart{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21C8 18 1.6 13.4 1.6 8.6 1.6 5.5 4 3.2 6.9 3.2c2 0 3.9 1.1 5.1 2.9 1.2-1.8 3.1-2.9 5.1-2.9 2.9 0 5.3 2.3 5.3 5.4 0 4.8-6.4 9.4-10.4 12.4z'/%3E%3C/svg%3E")}
.ic-heart-o{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M12 21C8 18 1.6 13.4 1.6 8.6 1.6 5.5 4 3.2 6.9 3.2c2 0 3.9 1.1 5.1 2.9 1.2-1.8 3.1-2.9 5.1-2.9 2.9 0 5.3 2.3 5.3 5.4 0 4.8-6.4 9.4-10.4 12.4z'/%3E%3C/svg%3E")}
.ic-flower{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='5' r='3.4'/%3E%3Ccircle cx='18.6' cy='9.8' r='3.4'/%3E%3Ccircle cx='16.1' cy='17.6' r='3.4'/%3E%3Ccircle cx='7.9' cy='17.6' r='3.4'/%3E%3Ccircle cx='5.4' cy='9.8' r='3.4'/%3E%3C/svg%3E")}
.ic-check{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}

/* Footer link tap comfort (mobile) */
.playful .foot-col li a{display:inline-block;padding:4px 0}
