.recipe-unlock{position:relative;isolation:isolate;overflow:hidden;margin:2.5rem 0;padding:clamp(30px,5vw,64px) 24px;border:1px solid #31543a;border-radius:28px;background:radial-gradient(ellipse at 50% -25%,#315a32 0,transparent 56%),linear-gradient(150deg,#10271b,#102118 65%,#173524);color:#f5f9f1;text-align:center;box-shadow:0 25px 60px #15351f1c}
.recipe-unlock:before,.recipe-unlock:after{position:absolute;z-index:-1;content:"";width:320px;height:320px;border:1px solid #add68b18;border-radius:50%;pointer-events:none}.recipe-unlock:before{left:-220px;top:4%;box-shadow:0 0 0 50px #add68b0a,0 0 0 100px #add68b08}.recipe-unlock:after{right:-240px;bottom:-130px;box-shadow:0 0 0 55px #add68b0a,0 0 0 110px #add68b08}
.recipe-unlock-content{max-width:600px;margin:auto}.recipe-unlock-heading{max-width:490px;margin:auto}.recipe-unlock-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 19px;border:1px solid #b5e39857;border-radius:18px;background:#a2de7620;color:#b9ec9d}.recipe-unlock-icon svg{width:25px;height:25px}.recipe-unlock-kicker{color:#b9e89b;font-size:.68rem;font-weight:800;letter-spacing:.18em}.recipe-unlock-content h2{margin:14px 0;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;letter-spacing:-.045em;line-height:1.05;color:#fff}.recipe-unlock-content h2 em{color:#a8e881;font-style:normal}.recipe-unlock-heading p{margin:0 auto;color:#cfddce;font-size:1rem;line-height:1.7}
.recipe-unlock-benefits{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 20px;margin:27px 0;padding:0;list-style:none;color:#e2eddf;font-size:.83rem}.recipe-unlock-benefits li{display:flex;align-items:center;gap:7px}.recipe-unlock-benefits li span{display:grid;place-items:center;width:19px;height:19px;flex:none;border-radius:50%;background:#a9e78d29;color:#b5ed96;font-weight:800}
.recipe-unlock-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 auto;max-width:470px;text-align:left}.recipe-unlock-plan{position:relative;min-width:0;padding:20px;border:1px solid #b5e29c42;border-radius:18px;background:#ffffff0c;box-shadow:inset 0 1px #ffffff0b}.recipe-unlock-plan-name{display:block;color:white;font-size:1rem;font-weight:800}.recipe-unlock-plan-access{display:flex;justify-content:space-between;gap:8px;margin:7px 0 21px;color:#b9d5b5;font-size:.75rem}.recipe-unlock-plan-access span{color:#b1e895}.recipe-unlock-amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px}.recipe-unlock-amount strong{color:#fff;font-size:1.8rem;letter-spacing:-.04em}.recipe-unlock-amount small{color:#bed1bb;font-size:.8rem}.recipe-unlock-content .recipe-unlock-price-note{margin:14px auto 0;color:#b6c9b4;font-size:.76rem;line-height:1.5}
.recipe-unlock-actions{display:flex;align-items:center;flex-direction:column;gap:16px;margin-top:23px}.recipe-unlock-cta{display:flex;justify-content:center;align-items:center;gap:22px;min-height:52px;width:min(100%,350px);padding:12px 20px;box-sizing:border-box;border-radius:14px;background:#b8eb8e;color:#10291a!important;text-decoration:none;font-weight:800;box-shadow:0 8px 24px #83d76525;transition:background .2s,transform .2s}.recipe-unlock-cta:hover{background:#c8f5a5;transform:translateY(-2px)}.recipe-unlock-cta:focus-visible,.recipe-unlock-signin:focus-visible{outline:3px solid #d9ffc5;outline-offset:4px}.recipe-unlock-signin{color:#d1e1ce!important;font-size:.85rem;text-decoration:none}.recipe-unlock-signin strong{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:480px){.recipe-unlock{padding:36px 18px;border-radius:21px}.recipe-unlock-benefits{justify-content:flex-start;max-width:290px;margin:25px auto}.recipe-unlock-plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.recipe-unlock-plan{padding:15px 13px}.recipe-unlock-plan-access{min-height:34px;margin-bottom:12px;line-height:1.4}.recipe-unlock-amount strong{font-size:1.48rem}.recipe-unlock-cta{width:100%}}
.recipe-unlock-plan:only-child{grid-column:1/-1}
@media(prefers-reduced-motion:reduce){.recipe-unlock-cta{transition:none}.recipe-unlock-cta:hover{transform:none}}
