/* DKISS flavor discovery: a preference form opposite a composition, not a quiz gate. */
.flavor-finder { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:clamp(32px,7vw,110px); padding:clamp(48px,7vw,100px) max(6vw,calc((100vw - 1440px)/2)); color:var(--ink,#123532); background:var(--paper,#f5f2ec); }
.flavor-finder .finder-intro, .flavor-finder .finder-result { min-width:0; }
.flavor-finder .finder-kicker { margin:0 0 18px; color:var(--green,#005d59); font-size:.9rem; font-weight:600; }
.flavor-finder #finder-heading { margin:0 0 24px; font-size:clamp(2.65rem,4.6vw,4.5rem); line-height:1.02; font-weight:500; letter-spacing:-.035em; text-wrap:balance; }
.flavor-finder .finder-lede { max-width:43ch; margin:0; font-size:1rem; line-height:1.7; }
.flavor-finder .finder-no-gate { margin:17px 0 30px; color:var(--muted,#526a67); font-size:.82rem; }
.flavor-finder fieldset { min-width:0; margin:0; padding:0; border:0; }
.flavor-finder legend { width:100%; margin:0 0 13px; padding:0; font-size:.96rem; font-weight:600; }
.flavor-finder .finder-family label { display:flex; align-items:center; gap:14px; min-height:62px; padding:12px 0; border-bottom:1px solid var(--line,#d2d8ce); cursor:pointer; }
.flavor-finder .finder-family label:first-of-type { border-top:1px solid var(--line,#d2d8ce); }
.flavor-finder .finder-family label > span { display:flex; flex:1; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:5px 12px; min-width:0; }
.flavor-finder input[type="radio"] { flex-shrink:0; width:20px; height:20px; margin:0; accent-color:var(--green,#005d59); }
.flavor-finder label strong { font-size:.96rem; font-weight:600; line-height:1.4; }
.flavor-finder label small { color:var(--muted,#526a67); font-size:.76rem; line-height:1.5; }
.flavor-finder .finder-family label:has(input:checked) { color:var(--green,#005d59); }
.flavor-finder label:focus-within { outline:3px solid #a84e0b; outline-offset:4px; }
.flavor-finder label input:focus-visible { outline:0; }
.flavor-finder fieldset:disabled label { cursor:default; }
.flavor-finder .finder-size { margin-top:29px; }
.flavor-finder .finder-size-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.flavor-finder .finder-size label { display:flex; align-items:center; gap:12px; min-height:70px; padding:12px 0; border-top:1px solid var(--line,#d2d8ce); border-bottom:1px solid var(--line,#d2d8ce); cursor:pointer; }
.flavor-finder .finder-size label span { display:flex; min-width:0; flex-direction:column; gap:4px; }
.flavor-finder .finder-size label small { color:var(--green,#005d59); font-weight:600; }
.flavor-finder .finder-submit, .flavor-finder .finder-edit { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; min-height:54px; padding:16px 20px; border:1px solid var(--green,#005d59); border-radius:4px; color:#fff; background:var(--green,#005d59); text-align:left; font-size:.94rem; line-height:1.4; font-weight:600; text-decoration:none; }
.flavor-finder .finder-submit { margin-top:25px; }
.flavor-finder .finder-submit[hidden] { display:none; }
.flavor-finder .finder-submit:hover, .flavor-finder .finder-edit:hover { color:#fff; background:#004743; text-decoration:none; }
.flavor-finder .finder-status { min-height:2.9em; margin:13px 0 0; color:var(--muted,#526a67); font-size:.75rem; line-height:1.45; }
.flavor-finder .finder-noscript { color:var(--muted,#526a67); font-size:.85rem; }
.flavor-finder .finder-noscript a { text-decoration:underline; text-underline-offset:3px; }
.flavor-finder .finder-art { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; min-width:0; min-height:300px; height:clamp(320px,29vw,440px); overflow:hidden; background:var(--finder-flavor,#75d1c5); }
.flavor-finder img.finder-fruit { position:absolute; inset:0; z-index:-1; display:block; width:100%; height:100%; max-width:none; object-fit:contain; opacity:.56; }
.flavor-finder .finder-stick-line { display:flex; justify-content:center; align-items:center; gap:clamp(19px,3.5vw,60px); width:100%; height:100%; padding:38px 22px 52px; }
.flavor-finder img.finder-stick { flex:0 1 42px; display:block; width:42px; height:100%; max-width:15%; max-height:320px; object-fit:contain; transform:rotate(var(--finder-rotation,0deg)); filter:drop-shadow(5px 9px 4px #12353230); }
.flavor-finder [data-finder-count="5"] .finder-stick-line { gap:clamp(7px,1.8vw,27px); }
.flavor-finder .finder-art-caption { position:absolute; right:18px; bottom:16px; left:18px; color:var(--ink,#123532); font-size:.74rem; text-align:center; }
.flavor-finder .finder-result-copy { padding:28px 0 0; }
.flavor-finder .finder-result-label { margin:0 0 10px; color:var(--green,#005d59); font-size:.8rem; font-weight:600; }
.flavor-finder #finder-result-heading { margin:0 0 12px; font-size:clamp(1.7rem,2.65vw,2.55rem); font-weight:500; line-height:1.1; letter-spacing:-.025em; }
.flavor-finder .finder-result-description { max-width:44ch; margin:0; color:var(--muted,#526a67); font-size:.88rem; line-height:1.6; }
.flavor-finder .finder-composition { display:flex; flex-wrap:wrap; gap:9px 18px; margin:21px 0 0; padding:0; list-style:none; font-size:.84rem; line-height:1.5; }
.flavor-finder .finder-composition li { margin:0; }
.flavor-finder .finder-price { display:flex; align-items:center; gap:22px; margin:23px 0; padding-top:22px; border-top:1px solid var(--line,#d2d8ce); }
.flavor-finder .finder-price > strong { font-size:3rem; line-height:1; font-weight:500; letter-spacing:-.035em; }
.flavor-finder .finder-price > span { font-size:.82rem; line-height:1.65; }
.flavor-finder .finder-price b { color:var(--green,#005d59); }
.flavor-finder .finder-price-note, .flavor-finder .finder-choice-note { margin:13px 0 0; color:var(--muted,#526a67); font-size:.72rem; line-height:1.6; }
.flavor-finder .finder-choice-note { font-size:.69rem; }
@media (max-width:1050px) {
  .flavor-finder { gap:36px; padding-right:5vw; padding-left:5vw; }
  .flavor-finder .finder-family label > span { display:block; }
  .flavor-finder .finder-family label small { display:block; margin-top:3px; }
}
@media (max-width:760px) {
  .flavor-finder { grid-template-columns:minmax(0,1fr); gap:32px; padding:48px 24px; }
  .flavor-finder .finder-family label > span { display:flex; }
  .flavor-finder .finder-family label small { margin-top:0; }
  .flavor-finder .finder-art { height:360px; }
  .flavor-finder .finder-stick-line { gap:50px; }
  .flavor-finder [data-finder-count="5"] .finder-stick-line { gap:19px; }
  .flavor-finder .finder-status { min-height:0; }
  .flavor-finder .finder-result-copy { padding-top:25px; }
}
@media (max-width:400px) {
  .flavor-finder { padding-right:20px; padding-left:20px; }
  .flavor-finder #finder-heading { font-size:2.65rem; }
  .flavor-finder .finder-family label > span { display:block; }
  .flavor-finder .finder-family label small { display:block; margin-top:3px; }
  .flavor-finder .finder-size-options { gap:14px; }
  .flavor-finder .finder-size label { gap:8px; }
  .flavor-finder .finder-size label strong { font-size:.86rem; }
  .flavor-finder .finder-art { min-height:270px; height:300px; }
  .flavor-finder .finder-stick-line { gap:31px; padding:34px 16px 48px; }
  .flavor-finder [data-finder-count="5"] .finder-stick-line { gap:9px; }
  .flavor-finder img.finder-stick { max-width:14%; }
  .flavor-finder .finder-price { gap:18px; }
}
