/* Scoped styling: the calculator and all existing shop workflows are preserved. */
.crystal-finder{--ink:#4c205c;--gold:#b78127;position:relative;isolation:isolate;box-sizing:border-box;max-width:1180px;margin:22px auto 48px;padding:27px 30px 23px;border:1px solid #bd8e36;border-radius:28px;background:radial-gradient(ellipse at 50% 0,#fffef5 0,transparent 65%),linear-gradient(135deg,#fff6e1,#fcf4e6 48%,#f1e1bd);color:var(--ink);box-shadow:0 18px 40px #3a16413b,0 0 24px #d9b04b35,inset 0 0 0 4px #fffbec,inset 0 0 0 6px #cfaa59;animation:finder-aura 6s ease-in-out infinite;scroll-margin-top:24px}
.crystal-finder:before,.crystal-finder:after{content:'❧';position:absolute;z-index:-1;pointer-events:none;color:#ba862b;font-size:56px;line-height:1;opacity:.8;top:12px;left:17px}.crystal-finder:after{left:auto;right:17px;transform:scaleX(-1)}
.finder-top{text-align:center;max-width:100%;margin:auto}.crystal-finder .eyebrow{color:#9a651a;letter-spacing:.2em;font-size:11px}.crystal-finder h2{font-family:Georgia,'Times New Roman',serif;color:var(--ink);font-size:clamp(28px,3.5vw,44px);line-height:1.15;letter-spacing:-.025em;margin:9px 0 7px;text-shadow:0 1px 0 white}.crystal-finder p{color:var(--ink);line-height:1.45}.finder-top p{font-family:Georgia,'Times New Roman',serif;font-style:italic;margin:0;font-size:18px}.finder-lotus{display:block;color:#b88730;font-size:23px;line-height:1.1;margin:8px auto 0;letter-spacing:7px}
.finder-form{display:grid;grid-template-columns:1fr 1.3fr auto;align-items:end;gap:15px;margin:16px 0 9px}.finder-field{min-width:0}.finder-field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--ink)}.finder-field input,.finder-field select{box-sizing:border-box;width:100%;min-width:0;min-height:46px;border:1px solid #b68a43;border-radius:10px;background:linear-gradient(#fffefa,#fdf5e6);color:var(--ink);padding:10px 12px;font:inherit;font-size:15px;box-shadow:inset 0 1px 3px #8c623214,0 1px 0 white}.finder-field input:focus,.finder-field select:focus{border-color:#764587}
.finder-form button,.finder-card button{min-height:46px;cursor:pointer;border:1px solid #a97419;border-radius:18px;padding:10px 20px;color:#3c174a;font:inherit;font-size:15px;font-weight:700;background:linear-gradient(110deg,#b98321 0,#e5ba50 18%,#fff0a1 43%,#e9bf58 70%,#c58d28 100%);box-shadow:inset 0 2px 2px #fff8c2,0 3px 0 #ad7a21,0 6px 12px #79541e2b;transition:box-shadow .2s,filter .2s}.finder-form button:hover,.finder-card button:hover{filter:brightness(1.05);box-shadow:inset 0 2px 2px #fff8c2,0 3px 0 #ad7a21,0 7px 20px #c1954b66}.crystal-finder .finder-private{font-size:12px;color:#705c75;margin:8px 0}.crystal-finder .finder-error{color:#a52630;font-size:14px;margin:0}.finder-error:empty{display:none}
.finder-results{display:grid;grid-template-columns:minmax(235px,.85fr) minmax(0,2fr);gap:16px;margin-top:17px;border-top:1px solid #d8b76e;padding-top:17px}.finder-results:focus{outline:none}.finder-blueprint{padding:15px;background:linear-gradient(145deg,#fffcef,#f6e9cb);border:1px solid #c69a49;border-radius:18px;box-shadow:inset 0 0 0 3px #fffcf4,0 4px 12px #6b452215;min-width:0}.crystal-finder h3{font-family:Georgia,serif;color:var(--ink);font-size:23px;line-height:1.2;margin:0 0 12px;text-align:center}.finder-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.finder-number{text-align:center;border:1px solid #c3984b;border-radius:12px;padding:9px 6px;font-size:13px;line-height:1.2;background:#fff9e9}.finder-number strong{display:block;font-family:Georgia,serif;font-size:29px;margin-top:3px}.finder-missing{text-align:center;font-size:14px;font-weight:600;padding:8px;margin:10px 0!important;background:#f4e6c4;border-radius:8px}.finder-chart{display:grid;grid-template-columns:repeat(3,1fr);max-width:226px;margin:11px auto 13px;border:1px solid #b88837;border-radius:10px;overflow:hidden;background:#fff7e5}.finder-chart div{min-height:40px;padding:4px 2px;text-align:center;border:1px solid #ddc693;display:flex;flex-direction:column;justify-content:center}.finder-chart b{font-family:Georgia,serif;line-height:1.2;font-size:22px}.finder-chart small{font-size:9px;color:#7b6481;line-height:1.2}.finder-chart .absent{background:#eee7de;color:#9b899d}.finder-explanation{border:1px solid #ddc082;border-radius:9px;background:#fff9ed;padding:7px 9px}.finder-explanation summary{cursor:pointer;font-size:12px;font-weight:600;color:#5a2a62}.finder-explanation p{margin:8px 0!important}
.finder-selection{min-width:0}.finder-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));align-items:start;gap:12px;margin:0}.finder-card{min-width:0;overflow:hidden;padding:7px;background:linear-gradient(140deg,#fffdf5,#f8edda);border:1px solid #cda24f;border-radius:18px;box-shadow:0 5px 14px #6e41201a;animation:finder-card-in .6s ease both}.finder-card:nth-child(2){animation-delay:.1s}.finder-card:nth-child(3){animation-delay:.2s}.finder-card img{width:100%;display:block;height:clamp(170px,18vw,215px);object-fit:cover;object-position:center 73%;border-radius:12px;background:#ebdfcc}.finder-card:only-child{max-width:420px;width:100%;justify-self:center;box-sizing:border-box}.finder-card-body{padding:10px 9px 8px;text-align:center}.crystal-finder h4{font-family:Georgia,serif;color:var(--ink);font-size:23px;line-height:1.15;margin:0 0 8px}.finder-card .finder-reason{font-size:12px;line-height:1.4;margin:8px 0 12px;min-height:34px}.finder-card button{font-size:14px;min-height:41px;padding:8px 25px;border-radius:14px}.finder-no-match{padding:28px;font-size:16px;text-align:center;border:1px solid #d4b878;border-radius:16px;background:#fff9eb}
.finder-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px;border-top:1px solid #ddc185;margin-top:17px;padding-top:14px}.finder-actions a{color:#295b2b;font-weight:600;text-decoration:none;border:1px solid #66904b;border-radius:15px;padding:10px 19px;font-size:14px;background:#fffdef;box-shadow:0 2px 6px #56733d18}.finder-reset{background:none;border:0;border-left:1px solid #c6a466;padding:8px 0 8px 17px;color:var(--ink);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}.crystal-finder :focus-visible{outline:3px solid #80549b;outline-offset:3px}.crystal-finder:focus-within,.crystal-finder:focus-within button{animation-play-state:paused}
@keyframes finder-aura{0%,100%{border-color:#bd8e36;box-shadow:0 18px 40px #3a16413b,0 0 18px #9360ad24,inset 0 0 0 4px #fffbec,inset 0 0 0 6px #cfaa59}50%{border-color:#efd27b;box-shadow:0 18px 40px #3a16413b,0 0 32px #9360ad55,inset 0 0 0 4px #fffbec,inset 0 0 0 6px #f0d38a}}@keyframes finder-card-in{from{opacity:0}to{opacity:1}}
@media(min-width:1050px){.finder-cards:has(.finder-card:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.finder-cards:has(.finder-card:nth-child(3)) .finder-card img{height:160px}.finder-cards:has(.finder-card:nth-child(3)) h4{font-size:19px}}
@media(max-width:900px){.crystal-finder{margin:20px 20px 38px}.finder-results{grid-template-columns:minmax(205px,.8fr) minmax(0,1.5fr)}.finder-form{grid-template-columns:1fr 1.2fr}.finder-form>button{grid-column:1/-1;justify-self:center;min-width:230px}.finder-cards{grid-template-columns:1fr}.finder-card{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center}.finder-card:only-child{display:block;max-width:none}.finder-card img{height:145px}.finder-card:only-child img{height:220px}.finder-card-body{padding:9px}.crystal-finder h4{font-size:20px}.finder-card .finder-reason{min-height:0}}
@media(max-width:620px){.crystal-finder{margin:16px 14px 32px;padding:23px 17px 19px;border-radius:23px}.crystal-finder:before,.crystal-finder:after{font-size:35px;top:9px;left:9px}.crystal-finder:after{left:auto;right:9px}.crystal-finder .eyebrow{font-size:9px;letter-spacing:.13em}.crystal-finder h2{font-size:29px;padding:0 5px}.finder-top p{font-size:16px}.finder-form{grid-template-columns:1fr;gap:10px;margin-top:14px}.finder-form>button{grid-column:auto;width:100%;min-width:0}.finder-results{grid-template-columns:1fr;gap:13px}.finder-blueprint{padding:13px}.finder-summary{max-width:300px;margin:auto}.finder-chart{max-width:210px}.finder-card:only-child{display:grid;grid-template-columns:110px minmax(0,1fr)}.finder-card:only-child img,.finder-card img{height:155px}.finder-actions{gap:10px}.finder-actions a{font-size:13px;padding:10px 12px}.finder-reset{font-size:12px}.finder-card .finder-reason{font-size:11px}.finder-card button{padding:8px 17px}.crystal-finder h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.crystal-finder,.finder-card{animation:none!important}.finder-form button,.finder-card button{transition:none}}

/* Light moves across the gold; the card and controls stay in place. */
.finder-form button,.finder-card button{background-size:220% 100%;animation:finder-gold-shine 7s ease-in-out infinite}
.finder-form button:hover,.finder-card button:hover{animation-play-state:paused}
@keyframes finder-gold-shine{0%,25%,100%{background-position:0% 50%}65%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.finder-form button,.finder-card button{animation:none!important}}
