/* A little flavor playground. All styles stay inside the finder. */
.flavor-finder {
  --flavor-bg: #f8bcd0;
  --flavor-accent: #e65f83;
  --flavor-ink: #15365a;
  position: relative;
  padding: clamp(64px, 7vw, 100px) var(--pad, 24px);
  background: var(--flavor-bg);
  color: var(--flavor-ink);
  border-block: 2px solid var(--flavor-ink);
  overflow: hidden;
  transition: background-color .45s ease;
}
.flavor-finder[data-flavor="chocolatey"] { --flavor-bg: #c7eaf8; --flavor-accent: #714838; }
.flavor-finder[data-flavor="crunchy"] { --flavor-bg: #fadd8c; --flavor-accent: #b97936; }
.flavor-finder__defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.flavor-finder__inner { position: relative; max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: 1.03fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.flavor-finder__intro { position: relative; z-index: 1; min-width: 0; }
.flavor-finder__eyebrow { display: flex; align-items: center; gap: 9px; font: 800 12px/1.4 var(--font-ui); letter-spacing: .13em; text-transform: uppercase; margin: 0 0 20px; }
.flavor-finder__eyebrow > span { font-size: 25px; font-weight: 400; line-height: 1; }
.flavor-finder h2 { color: #1460ce; font: 400 clamp(60px, 6.7vw, 92px)/.94 var(--font-display); letter-spacing: -.035em; margin: 0 0 22px; }
.flavor-finder__dot { color: var(--flavor-ink); }
.flavor-finder__intro-copy { font: 500 clamp(15px, 1.35vw, 17px)/1.7 var(--font-ui); margin: 0 0 30px; }
.flavor-finder__choices { border: 0; margin: 0; padding: 0; min-width: 0; }
.flavor-finder__choices legend { padding: 0; margin: 0 0 14px; font: 700 18px/1.4 var(--font-ui); }
.flavor-finder__buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.flavor-finder__choice { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 119px; min-width: 0; padding: 12px 5px; border: 2px solid var(--flavor-ink); border-radius: 20px; box-shadow: 0 4px 0 var(--flavor-ink); background: #fff8ec; color: var(--flavor-ink); font: 800 14px/1.3 var(--font-ui); cursor: pointer; transition: background-color .2s, color .2s, transform .2s, box-shadow .2s; }
.flavor-finder__choice > svg { width: 46px; height: 46px; overflow: visible; transition: transform .2s; }
.flavor-finder__choice[aria-pressed="true"] { background: #1460ce; color: #fff8ec; transform: translateY(3px); box-shadow: 0 1px 0 var(--flavor-ink); }
.flavor-finder__check { position: absolute; top: 7px; right: 8px; color: #fff8ec; font-size: 12px; opacity: 0; }
.flavor-finder__choice[aria-pressed="true"] .flavor-finder__check { opacity: 1; }
.flavor-finder__choice:focus-visible, .flavor-finder__menu:focus-visible { outline: 3px solid #15365a; outline-offset: 6px; }
.flavor-finder__hand-note { display: flex; justify-content: center; align-items: flex-start; gap: 8px; margin: 18px 0 0; font: 600 23px/1.2 var(--font-hand); transform: rotate(-2deg); }
.flavor-finder__hand-note svg { width: 61px; height: 30px; margin-top: -8px; transform: rotate(-16deg); }
.flavor-finder__match { display: flex; min-width: 0; flex-direction: column; align-items: center; text-align: center; }
.flavor-finder__art { position: relative; isolation: isolate; width: min(100%, 460px); height: 418px; display: flex; justify-content: center; align-items: center; }
.flavor-finder__halo { position: absolute; z-index: -1; width: 100%; max-width: 405px; aspect-ratio: 1; border: 2px dashed rgb(21 54 90 / 33%); border-radius: 50%; background: rgb(255 248 236 / 32%); transform: rotate(12deg); }
.flavor-finder__halo::before, .flavor-finder__halo::after { content: ''; position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--flavor-ink); }
.flavor-finder__halo::before { left: 1%; top: 35%; }
.flavor-finder__halo::after { right: 8%; bottom: 14%; }
.flavor-finder__snapshot { position: relative; width: 282px; padding: 11px 11px 0; background: #fff8ec; border: 2px solid var(--flavor-ink); border-radius: 5px; box-shadow: 7px 8px 0 rgb(21 54 90 / 18%); transform: rotate(5deg); }
.flavor-finder__photo { display: block; width: 100%; height: 304px; max-width: none; border: 1px solid var(--flavor-ink); object-fit: cover; object-position: center 46%; border-radius: 1px; background: #fff8ec; }
.flavor-finder[data-flavor="crunchy"] .flavor-finder__photo { object-position: center 42%; }
.flavor-finder__snapshot-note { display: block; padding: 10px 4px 12px; font: 600 24px/1 var(--font-hand); }
.flavor-finder__badge { position: absolute; z-index: 2; top: 7px; left: max(0px, calc(50% - 195px)); width: 104px; height: 104px; display: grid; place-content: center; background: #1460ce; color: #fff8ec; clip-path: polygon(50% 0%, 59% 8%, 71% 5%, 75% 17%, 88% 17%, 89% 30%, 100% 36%, 94% 49%, 100% 61%, 88% 67%, 88% 80%, 75% 81%, 70% 94%, 57% 90%, 48% 100%, 39% 90%, 26% 94%, 22% 82%, 9% 80%, 10% 67%, 0% 60%, 6% 48%, 0% 37%, 12% 30%, 11% 17%, 24% 17%, 30% 5%, 42% 9%); font: 600 24px/.95 var(--font-hand); transform: rotate(-13deg); }
.flavor-finder__topping { position: absolute; z-index: 3; width: 67px; height: 67px; overflow: visible; filter: drop-shadow(2px 3px 0 #fff8ec); }
.flavor-finder__topping--one { right: 0; top: 97px; transform: rotate(19deg); }
.flavor-finder__topping--two { left: 1px; bottom: 35px; transform: rotate(-22deg); width: 74px; height: 74px; }
.flavor-finder__spark { position: absolute; width: 47px; height: 56px; right: 4px; bottom: 32px; color: #1460ce; transform: rotate(13deg); }
.flavor-finder__result { min-height: 122px; max-width: 390px; margin-top: 18px; }
.flavor-finder__name { margin: 0 0 8px; color: var(--flavor-ink); font: 400 clamp(25px, 2.6vw, 33px)/1.04 var(--font-display); letter-spacing: -.02em; }
.flavor-finder__description { max-width: 34ch; margin: 0 auto; font: 500 14px/1.6 var(--font-ui); }
.flavor-finder__menu { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; margin-top: 8px; padding: 4px 0; border-bottom: 2px solid currentColor; font: 800 14px/1.4 var(--font-ui); }
.flavor-finder__menu > span { font-size: 25px; line-height: 1; transition: transform .2s; }
@media (hover: hover) {
  .flavor-finder__choice:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--flavor-ink); }
  .flavor-finder__choice:hover > svg { transform: rotate(-9deg); }
  .flavor-finder__choice[aria-pressed="true"]:hover { transform: translateY(1px); box-shadow: 0 3px 0 var(--flavor-ink); }
  .flavor-finder__menu:hover > span { transform: translate(3px, -3px); }
}
@media (max-width: 960px) and (min-width: 701px) {
  .flavor-finder__inner { gap: 30px; }
  .flavor-finder h2 { font-size: 66px; }
  .flavor-finder__choice { font-size: 12px; }
  .flavor-finder__buttons { gap: 8px; }
  .flavor-finder__snapshot { width: 238px; }
  .flavor-finder__photo { height: 268px; }
  .flavor-finder__art { height: 360px; }
  .flavor-finder__badge { left: -5px; width: 87px; height: 87px; font-size: 21px; }
  .flavor-finder__topping { width: 48px; height: 48px; }
  .flavor-finder__spark { width: 34px; right: -5px; }
}
@media (max-width: 700px) {
  .flavor-finder { padding: 44px 22px 40px; }
  .flavor-finder__inner { grid-template-columns: minmax(0, 1fr); gap: 16px; max-width: 440px; }
  .flavor-finder__eyebrow { justify-content: center; font-size: 11.5px; margin-bottom: 17px; }
  .flavor-finder__intro { text-align: center; }
  .flavor-finder h2 { font-size: clamp(56px, 12.5vw, 74px); line-height: .96; margin-bottom: 18px; }
  .flavor-finder__intro-copy { font-size: 14px; margin-bottom: 20px; }
  .flavor-finder__choices { text-align: left; }
  .flavor-finder__choices legend { width: 100%; text-align: center; font-size: 16px; margin-bottom: 13px; }
  .flavor-finder__buttons { gap: 10px; }
  .flavor-finder__choice { min-height: 90px; border-radius: 16px; font-size: 12px; gap: 5px; padding: 9px 3px; }
  .flavor-finder__choice > svg { width: 39px; height: 39px; }
  .flavor-finder__hand-note { display: none; }
  .flavor-finder__art { height: 310px; max-width: 350px; }
  .flavor-finder__halo { max-width: 313px; }
  .flavor-finder__snapshot { width: 225px; padding: 9px 9px 0; }
  .flavor-finder__photo { height: 237px; }
  .flavor-finder__snapshot-note { font-size: 22px; padding-block: 10px; }
  .flavor-finder__badge { left: 0; top: 0; width: 89px; height: 89px; font-size: 22px; }
  .flavor-finder__topping--one { width: 55px; height: 55px; right: 0; top: 85px; }
  .flavor-finder__topping--two { width: 57px; height: 57px; left: 1px; bottom: 33px; }
  .flavor-finder__spark { width: 36px; height: 45px; right: 0; bottom: 31px; }
  .flavor-finder__result { margin-top: 11px; min-height: 110px; }
  .flavor-finder__name { font-size: 29px; }
  .flavor-finder__description { font-size: 13px; max-width: 33ch; }
  .flavor-finder__menu { margin-top: 3px; font-size: 13px; }
}
@media (max-width: 360px) {
  .flavor-finder { padding-inline: 16px; }
  .flavor-finder__buttons { gap: 7px; }
  .flavor-finder__choice { font-size: 11px; }
  .flavor-finder__badge { width: 76px; height: 76px; font-size: 19px; }
  .flavor-finder__topping--one { right: -8px; width: 46px; }
  .flavor-finder__topping--two { left: -7px; width: 47px; }
}
@media (prefers-reduced-motion: reduce) {
  .flavor-finder, .flavor-finder *, .flavor-finder *::before, .flavor-finder *::after { transition: none !important; animation: none !important; }
}
