/* ══════════════════════════════════════════════════════════════
   milmul-base.css — shared tokens, resets, nav, footer, modals
   ══════════════════════════════════════════════════════════════ */

:root {
  --bg: #FFFBFC;
  --surface: #FFFFFF;
  --card: #FFF5F7;
  --ink: #2D2028;
  --ink-soft: #8C7580;
  --accent: #E8458B;
  --accent-hover: #D03A7A;
  --accent-light: rgba(232,69,139,0.08);
  --accent-wash: rgba(232,69,139,0.14);
  --line: rgba(45,32,40,0.10);
  --serif: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  --sans: 'Poppins', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --hand: 'Caveat', 'Comic Neue', cursive;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }

body::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 1; opacity: 0.35;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 0.18  0 0 0 0 0.12  0 0 0 0 0.16  0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: default; }
h1, h2, h3, h4 { font-family: var(--serif); color: var(--ink); margin: 0; letter-spacing: -0.01em; }
h1 { font-weight: 700; line-height: 1.05; font-size: clamp(48px, 7vw, 96px); }
h2 { font-weight: 700; line-height: 1.08; font-size: clamp(36px, 4.4vw, 64px); }
h1 em, h2 em { font-style: italic; font-weight: 400; }

/* ── animations ── */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes pop { from { transform: scale(.94) translateY(8px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } }
@keyframes slideIn { from { transform: translateX(100%); } to { transform: translateX(0); } }
.modal-anim { animation: pop .3s cubic-bezier(.2,.8,.2,1); }
.scrim-anim { animation: fadeIn .25s ease; }

/* ── shared hover states ── */
.nav-link:hover { color: var(--accent); }
.cart-pill:hover { background: var(--accent); }
.cart-pill:hover .cart-dot { background: #FFFBFC; color: var(--accent); }
.foot-link:hover { color: var(--accent); }
.btn-accent:hover { background: var(--accent-hover); }
.btn-ghost:hover { background: var(--ink); color: #FFFBFC; }
.btn-main:hover { background: var(--accent); transform: translateY(-1px); }
.btn-main:hover .btn-arrow, .btn-accent:hover .btn-arrow { transform: translateX(3px); }
