/* Fungi Crest — conversion layer (popup, slide-in). Uses theme tokens with fallbacks. */
.fcf-modal,.fcf-slide{--_forest:var(--fc-forest,#173a26);--_forest-2:var(--fc-forest-deep,#0f2a1b);--_cream:var(--fc-cream,#f6f1e5);--_paper:var(--fc-paper,#fffdf8);--_gold:var(--fc-gold,#c39a43);--_ink:var(--fc-ink,#1c2a1f);--_muted:var(--fc-muted,#5f6a5f);--_line:var(--fc-line,#e4dccb);--_display:var(--fc-font-display,Georgia,serif);--_sans:var(--fc-font-sans,system-ui,sans-serif);font-family:var(--_sans);color:var(--_ink)}
.fcf-locked{overflow:hidden}
.fcf-modal[hidden],.fcf-slide[hidden],.fcf-modal [hidden],.fcf-slide [hidden]{display:none!important}
.fcf-modal:not(.is-open) .fcf-modal__scrim{pointer-events:none}
.fc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.fcf-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px}
.fcf-modal__scrim{position:absolute;inset:0;background:rgba(10,24,16,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .32s ease}
.fcf-modal__panel{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);width:min(880px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--_paper);border-radius:22px;box-shadow:0 40px 90px -30px rgba(8,22,14,.6);transform:translateY(18px) scale(.98);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .32s ease}
.fcf-modal.is-open .fcf-modal__scrim{opacity:1}
.fcf-modal.is-open .fcf-modal__panel{transform:none;opacity:1}
.fcf-modal__art{position:relative;min-height:440px;background:var(--_forest-2) url("../../data/media/morel-portrait.jpg") center/cover no-repeat}
.fcf-modal__art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,42,27,0) 40%,rgba(15,42,27,.75))}
.fcf-badge{position:absolute;z-index:1;left:28px;bottom:28px;display:grid;place-items:center;width:132px;height:132px;border-radius:50%;background:var(--_cream);color:var(--_forest);text-align:center;box-shadow:0 0 0 6px rgba(246,241,229,.18),0 0 0 7px var(--_gold);animation:fcf-spin-in .9s .2s cubic-bezier(.2,.8,.2,1) both}
.fcf-badge strong{display:block;font-family:var(--_display);font-size:44px;line-height:1;font-weight:500}
.fcf-badge small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.3}
@keyframes fcf-spin-in{from{transform:rotate(-30deg) scale(.6);opacity:0}to{transform:none;opacity:1}}
.fcf-modal__body{padding:44px 40px 32px}
.fcf-eyebrow{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--_gold)}
.fcf-modal h2{margin:0 0 12px;font-family:var(--_display);font-weight:500;font-size:clamp(26px,3.2vw,34px);line-height:1.12;color:var(--_forest);letter-spacing:-.01em}
.fcf-lede{margin:0 0 22px;color:var(--_muted);font-size:15px;line-height:1.6}
.fcf-field{display:flex;gap:8px;padding:6px;border:1px solid var(--_line);border-radius:999px;background:#fff;transition:border-color .2s,box-shadow .2s}
.fcf-field:focus-within{border-color:var(--_forest);box-shadow:0 0 0 4px rgba(23,58,38,.1)}
.fcf-field input{flex:1;min-width:0;border:0;background:transparent;padding:10px 14px;font:inherit;font-size:16px;color:var(--_ink);outline:none}
.fcf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 22px;background:var(--_forest);color:var(--_cream);font:600 15px/1 var(--_sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s,transform .2s}
.fcf-btn:hover{background:var(--_forest-2);color:var(--_cream)}
.fcf-btn:active{transform:scale(.98)}
.fcf-btn.is-busy{opacity:.7;pointer-events:none}
.fcf-btn--block{display:flex;width:100%;padding:15px 22px}
.fcf-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;border:0}
.fcf-chips legend{width:100%;margin-bottom:8px;font-size:13px;color:var(--_muted)}
.fcf-chips label{position:relative;cursor:pointer}
.fcf-chips input{position:absolute;opacity:0;pointer-events:none}
.fcf-chips span{display:inline-block;padding:8px 14px;border:1px solid var(--_line);border-radius:999px;font-size:13px;transition:all .2s}
.fcf-chips input:checked+span{background:var(--_forest);border-color:var(--_forest);color:var(--_cream)}
.fcf-chips input:focus-visible+span{outline:2px solid var(--_gold);outline-offset:2px}
.fcf-fine{margin:14px 0 0;font-size:12px;color:var(--_muted)}
.fcf-msg{min-height:1.2em;margin:8px 0 0;font-size:13px;color:#9b3b22}
.fcf-decline{display:block;margin:18px auto 0;padding:6px;border:0;background:none;font:inherit;font-size:13px;color:var(--_muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.fcf-close{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,253,248,.92);color:var(--_ink);cursor:pointer;transition:transform .2s}
.fcf-close:hover{transform:rotate(90deg)}
.fcf-code{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;margin:6px 0 16px;padding:18px;border:1.5px dashed var(--_gold);border-radius:14px;background:var(--_cream);cursor:pointer}
.fcf-code span{font:600 26px/1 var(--_sans);letter-spacing:.14em;color:var(--_forest)}
.fcf-code small{font-size:12px;color:var(--_muted)}

.fcf-slide{position:fixed;right:20px;bottom:92px;z-index:900;width:min(340px,calc(100vw - 32px));padding:22px 22px 20px;background:var(--_paper);border:1px solid var(--_line);border-radius:18px;box-shadow:0 24px 60px -24px rgba(8,22,14,.45);transform:translateY(24px);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s}
.fcf-slide.is-open{transform:none;opacity:1}
.fcf-slide::before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--_gold),#e3c27a,var(--_gold))}
.fcf-slide .fcf-close{top:10px;right:10px;width:30px;height:30px;background:transparent}
.fcf-slide__title{margin:0 0 6px;font-family:var(--_display);font-size:22px;line-height:1.15;color:var(--_forest)}
.fcf-slide__body{margin:0 0 16px;font-size:14px;line-height:1.5;color:var(--_muted)}

@media (max-width:720px){
	.fcf-modal{place-items:end center;padding:0}
	.fcf-modal__panel{grid-template-columns:1fr;border-radius:22px 22px 0 0;max-height:92dvh;transform:translateY(100%)}
	.fcf-modal__art{min-height:150px}
	.fcf-badge{width:92px;height:92px;left:20px;bottom:-30px}
	.fcf-badge strong{font-size:30px}
	.fcf-badge small{font-size:9px}
	.fcf-modal__body{padding:44px 22px calc(22px + env(safe-area-inset-bottom))}
	.fcf-field{flex-direction:column;border-radius:16px}
	.fcf-field .fcf-btn{width:100%;padding:15px}
	.fcf-slide{left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));width:auto}
}
@media (prefers-reduced-motion:reduce){.fcf-modal__panel,.fcf-slide,.fcf-badge{transition:none;animation:none}}
