/* Hallmark · tokens · theme: studied-DNA (source: https://easydayphotobooth.com — Boom's own shop site)
 * paper #FFF8F1 cream · ink #3B2F36 · accent pink #FF7FA6 · pastel tints (pink/blue/mint/lavender/yellow/peach)
 * Mitr (display) + IBM Plex Sans Thai Looped (body) + Sriracha (script accent) + Bodoni Moda (wordmark) — all SIL OFL
 */
@font-face { font-family: 'Bodoni Moda'; font-weight: 500; font-display: swap; src: url(fonts/bodoni-moda-500-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans Thai Looped'; font-weight: 400; font-display: swap; src: url(fonts/ibm-plex-sans-thai-looped-400-thai.woff2) format('woff2'); unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'IBM Plex Sans Thai Looped'; font-weight: 400; font-display: swap; src: url(fonts/ibm-plex-sans-thai-looped-400-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans Thai Looped'; font-weight: 500; font-display: swap; src: url(fonts/ibm-plex-sans-thai-looped-500-thai.woff2) format('woff2'); unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'IBM Plex Sans Thai Looped'; font-weight: 500; font-display: swap; src: url(fonts/ibm-plex-sans-thai-looped-500-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans Thai Looped'; font-weight: 600; font-display: swap; src: url(fonts/ibm-plex-sans-thai-looped-600-thai.woff2) format('woff2'); unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'IBM Plex Sans Thai Looped'; font-weight: 600; font-display: swap; src: url(fonts/ibm-plex-sans-thai-looped-600-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Sriracha'; font-weight: 400; font-display: swap; src: url(fonts/sriracha-400-thai.woff2) format('woff2'); unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'Sriracha'; font-weight: 400; font-display: swap; src: url(fonts/sriracha-400-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Mitr'; font-weight: 500; font-display: swap; src: url(fonts/mitr-500-thai.woff2) format('woff2'); unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'Mitr'; font-weight: 500; font-display: swap; src: url(fonts/mitr-500-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: 'Mitr'; font-weight: 600; font-display: swap; src: url(fonts/mitr-600-thai.woff2) format('woff2'); unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'Mitr'; font-weight: 600; font-display: swap; src: url(fonts/mitr-600-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122, U+2212; }

:root {
  --color-paper:   #FFF8F1;
  --color-surface: #FFFFFF;
  --color-ink:     #3B2F36;
  --color-ink-2:   #5A4A52;
  --color-ink-3:   #7C6D74;
  --color-rule:    #F0E2D8;

  --color-pink:      #FF7FA6;
  --color-pink-deep: #B73E66;
  --color-pink-soft: #FFE3EC;
  --color-blue-soft: #E2F2FD;
  --color-blue-deep: #22679A;
  --color-mint-soft: #DDF6EC;
  --color-mint-deep: #1C7A59;
  --color-lav-soft:  #EEE6FF;
  --color-lav-deep:  #6A48B8;
  --color-yel-soft:  #FFF2CC;
  --color-yel-deep:  #8A6400;
  --color-yel:       #FFCF5C;
  --color-peach-soft:#FFE9DA;
  --color-line:      #06C755;
  --color-line-deep: #05A847;
  --color-on-strong: #FFFFFF;
  --color-focus:     #B73E66;

  /* booth-screen illustrations */
  --color-scr:     #2A2226;
  --color-scr-2:   #3A3035;
  --color-scr-ink: #FFF8F1;
  --color-slot-a:  #FFCF8A;
  --color-slot-b:  #A8D4F5;
  --color-slot-c:  #A9E3C8;
  --color-slot-d:  #FFB3C8;
  --color-ok:      #3CC07E;
  --color-warn:    #F2A93B;

  --font-display: 'Mitr', 'Thonburi', system-ui, sans-serif;
  --font-body: 'IBM Plex Sans Thai Looped', 'Thonburi', system-ui, sans-serif;
  --font-script: 'Sriracha', cursive;
  --font-mark: 'Bodoni Moda', Didot, Georgia, serif;

  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-md: 1.0625rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: clamp(1.75rem, 1.3rem + 1.8vw, 2.625rem);
  --text-display-s: clamp(2.25rem, 1.5rem + 3vw, 3.5rem);
  --text-display: clamp(2.375rem, 1.4rem + 3.9vw, 4.25rem);

  --space-2xs: 4px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 72px;
  --space-4xl: 104px;

  --radius-sm: 8px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --radius-pill: 999px;
  --rule-hair: 1px;

  --shadow-card: 0 10px 30px rgba(120, 70, 90, 0.10);
  --shadow-photo: 0 14px 34px rgba(120, 70, 90, 0.18);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 140ms;
  --dur-med: 260ms;
}
:root {
  --color-line-btn: #078A3E;        /* LINE green, darkened so white text reads (≥4.5:1) */
  --color-line-btn-hover: #067A37;
  --color-line-deep: #04602B;
  --color-pink-deep-hover: #9E3357;
}
