.rx{font-size:16px}.rx *,.rx *:before,.rx *:after{box-sizing:border-box;margin:0;padding:0}.rx{--accent: #B23A63;--accent-dark: #8E2C4E;--ink: #331B33;--ink-2: #6A5668;--muted: #9A8896;--bg: #F6F0F5;--card: #FFFFFF;--line: #EDE0EA;--line-2: #E7DAE4;--rose-bg: #FBF3F7;--rose-border: #EAD3E1;--rose-band: #F3E2EC;--green: #2F8F5B;--green-bg: #E7F3EC;--green-border:#C9E4D3;--amber: #B26A34;--amber-bg: #FFF3E0;--r-card: 16px;--r-sm: 12px;--r-pill: 999px;--shadow: 0 1px 3px rgba(51,27,51,.04), 0 10px 30px rgba(51,27,51,.06)}.rx a{color:var(--accent)}.rx a:hover{color:var(--accent-dark)}.list-btn{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid var(--rose-border);background:var(--card);color:var(--accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.list-btn:hover{border-color:var(--accent);background:var(--rose-bg)}.list-btn svg{width:20px;height:20px}.list-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:var(--r-pill);background:var(--accent);color:#fff;border:2px solid var(--bg);font-size:11px;font-weight:700;display:none;align-items:center;justify-content:center}.list-badge.show{display:inline-flex}.rx{max-width:820px;margin:0 auto;padding:clamp(20px,4vw,44px) clamp(16px,4vw,28px) 80px}.rx.wide{max-width:1000px}.rx .eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.rx .back{display:inline-block;font-size:13.5px;font-weight:600;color:var(--accent);text-decoration:none;margin-bottom:18px}.rx .back:hover{text-decoration:underline}.rx h1{font-family:Spectral,Georgia,serif;font-weight:600;font-size:clamp(30px,5.5vw,46px);line-height:1.1;color:var(--ink);letter-spacing:-.4px;margin-bottom:14px}.rx .lede{font-size:18px;color:var(--ink-2);max-width:62ch}.rx .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.rx .tag{font-size:12.5px;font-weight:600;color:var(--accent-dark);background:var(--rose-band);border:1px solid var(--rose-border);padding:5px 12px;border-radius:var(--r-pill)}.rx .photo{margin:26px 0 30px;border-radius:var(--r-card);overflow:hidden;background:linear-gradient(135deg,var(--rose-band),var(--rose-bg) 55%,var(--green-bg));display:flex;align-items:center;justify-content:center;color:var(--muted);text-align:center}.rx .photo.hero{height:clamp(220px,44vw,340px)}.rx .photo img{width:100%;height:100%;object-fit:cover;display:block}.rx .photo .slot{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13.5px;padding:20px}.rx .photo .slot svg{width:30px;height:30px;opacity:.7}.rx .meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 26px;margin:6px 0 34px}.rx .meta>div{display:flex;align-items:baseline;gap:8px}.rx .meta .k{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.rx .meta .v{font-family:Spectral,serif;font-size:18px;font-weight:600;color:var(--ink)}.rx h2{font-family:Spectral,serif;font-weight:600;font-size:25px;color:var(--ink);letter-spacing:-.3px;margin-bottom:4px}.rx .section{margin-bottom:40px}.rx .section>.sub{color:var(--ink-2);font-size:14px;margin-bottom:18px}.rx .sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.rx .sec-head h2{margin-bottom:0}.rx .recipe-grid{display:grid;grid-template-columns:340px 1fr;gap:34px;align-items:start}@media(max-width:900px){.rx .recipe-grid{grid-template-columns:1fr}.rx .ing-card{position:static!important}}.rx .ing-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:20px;position:sticky;top:78px}.rx .scaler{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.rx .scaler .label{font-weight:600;color:var(--ink);font-size:14.5px}.rx .stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden}.rx .stepper button{width:36px;height:36px;border:0;background:var(--rose-band);color:var(--accent-dark);font-size:20px;font-weight:600;cursor:pointer;line-height:1;transition:background .15s}.rx .stepper button:hover{background:var(--rose-border)}.rx .stepper button:disabled{opacity:.35;cursor:not-allowed}.rx .stepper .count{min-width:48px;text-align:center;font-weight:700;color:var(--ink);font-family:Spectral,serif;font-size:17px}.rx .scaler .hint{font-size:12.5px;color:var(--muted)}.rx ul.ingredients{list-style:none;display:grid;gap:1px;margin-bottom:16px}.rx .check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:9px 8px;border-radius:10px;transition:background .12s}.rx .check:hover{background:var(--rose-bg)}.rx .check input{position:absolute;opacity:0;width:0;height:0}.rx .box{flex:0 0 auto;width:20px;height:20px;margin-top:2px;border-radius:6px;border:2px solid var(--rose-border);background:var(--card);position:relative;transition:all .15s}.rx .check input:checked+.box{background:var(--accent);border-color:var(--accent)}.rx .box:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .15s}.rx .check input:checked+.box:after{transform:rotate(45deg) scale(1)}.rx .ingredients .ing-section{font-family:Spectral,serif;font-weight:600;color:var(--accent-dark);font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:12px 8px 4px}.rx .ing-text{flex:1;font-size:15px}.rx .ing-text .amt{font-weight:700;color:var(--ink)}.rx .check input:checked~.ing-text{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--rose-border)}.rx .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:14px;font-weight:600;padding:11px 16px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:all .15s;text-decoration:none}.rx .btn:hover{border-color:var(--accent);color:var(--accent)}.rx .btn svg{width:17px;height:17px}.rx .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.rx .btn.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.rx .btn.full{width:100%}.rx .btn.green{background:var(--green-bg);border-color:var(--green-border);color:var(--green)}.rx .btn.green:hover{border-color:var(--green);color:var(--green)}.rx .add-row{margin-bottom:12px}.rx .pf-row{display:flex;gap:10px}.rx .pf-row .btn{flex:1}.rx .share-panel{margin-top:12px;background:var(--rose-bg);border:1px solid var(--rose-border);border-radius:14px;padding:18px;display:none}.rx .share-panel.open{display:block}.rx .share-kicker{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.rx .share-two{display:flex;gap:10px;margin-bottom:14px}.rx .share-two .btn{flex:1}.rx .share-form label.opt{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--ink-2);margin:10px 0;cursor:pointer}.rx .share-form input[type=email]{width:100%;font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--rose-border);border-radius:10px;background:#fff;color:var(--ink)}.rx .share-form input[type=email]:focus{outline:none;border-color:var(--accent)}.rx input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;margin-top:1px;flex:0 0 auto}.rx .confirm{display:none;align-items:center;gap:8px;margin-top:12px;color:var(--green);font-size:13.5px;font-weight:600}.rx .confirm.show{display:flex}.rx .confirm svg{width:18px;height:18px}.rx .progress-wrap{display:flex;align-items:center;gap:12px;margin-bottom:18px}.rx .bar{flex:1;height:8px;background:var(--rose-band);border-radius:var(--r-pill);overflow:hidden}.rx .bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),#C9527D);border-radius:var(--r-pill);transition:width .3s}.rx .progress-wrap .pct{font-size:13px;font-weight:700;color:var(--accent);min-width:96px;text-align:right}.rx ol.steps{list-style:none;counter-reset:step;display:grid;gap:12px}.rx ol.steps li{display:flex;gap:15px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 18px;box-shadow:var(--shadow);cursor:pointer;transition:border-color .15s,opacity .2s}.rx ol.steps li:hover{border-color:var(--rose-border)}.rx ol.steps li .num{counter-increment:step;flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--rose-band);color:var(--accent-dark);font-weight:700;font-family:Spectral,serif;display:flex;align-items:center;justify-content:center;font-size:15px}.rx ol.steps li .num:before{content:counter(step)}.rx ol.steps li.done{opacity:.55}.rx ol.steps li.done .num{background:var(--green);color:#fff}.rx ol.steps li.done .num:before{content:"✓"}.rx ol.steps li.done .step-text{text-decoration:line-through;text-decoration-color:var(--rose-border)}.rx .step-text{flex:1;padding-top:2px}.rx .nutri-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden}.rx .nutri-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:18px 22px;background:linear-gradient(135deg,var(--rose-bg),var(--bg));border-bottom:1px solid var(--line)}.rx .nutri-head .per{font-size:13px;color:var(--ink-2);font-weight:600}.rx .nutri-head .per b{color:var(--ink)}.rx .gi-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 12px;border-radius:var(--r-pill);font-weight:700;background:var(--green-bg);color:var(--green)}.rx .gi-badge.med{background:var(--amber-bg);color:var(--amber)}.rx .gi-badge .dot{width:10px;height:10px;border-radius:50%;background:currentColor}.rx .gi-badge .num{font-family:Spectral,serif;font-size:20px;line-height:1}.rx .gi-badge .lab{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.rx .nutri-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.rx .nutri-grid div{padding:16px 14px;border-top:1px solid var(--line);border-right:1px solid var(--line);text-align:center}.rx .nutri-grid .val{font-family:Spectral,serif;font-size:22px;font-weight:600;color:var(--ink)}.rx .nutri-grid .val.hl{color:var(--accent)}.rx .nutri-grid .lbl{font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:3px}.rx .gl-note{padding:14px 22px;font-size:13.5px;color:var(--ink-2);background:var(--rose-bg);border-top:1px solid var(--line)}.rx .gl-note b{color:var(--ink)}.rx .notes{background:var(--green-bg);border:1px solid var(--green-border);border-left:4px solid var(--green);border-radius:var(--r-sm);padding:18px 20px}.rx .notes h3{font-family:Spectral,serif;color:#1f6e44;font-size:17px;margin-bottom:8px}.rx .notes ul{margin:0;padding-left:20px;color:#2c4a3b}.rx .notes li{margin-bottom:6px}.rx .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:18px}.rx .rcard{display:block;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.rx .rcard:hover{transform:translateY(-3px);box-shadow:0 8px 18px #331b331a,0 16px 40px #331b331a}.rx .rcard .thumb{height:150px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--rose-band),var(--rose-bg) 55%,var(--green-bg));display:flex;align-items:center;justify-content:center}.rx .rcard .thumb img{width:100%;height:100%;object-fit:cover;display:block}.rx .rcard .thumb .slot svg{width:26px;height:26px;opacity:.6}.rx .mini-gi{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r-pill);background:var(--green-bg);color:var(--green)}.rx .mini-gi.med{background:var(--amber-bg);color:var(--amber)}.rx .rcard .body{padding:14px 16px 16px}.rx .rcard .title{font-family:Spectral,serif;font-weight:600;font-size:17px;color:var(--ink);line-height:1.25;margin-bottom:8px}.rx .rcard .cmeta{font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 12px}.rx .rcard.hidden{display:none}.rx .filters{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:18px 20px;margin:24px 0 14px}.rx .filter-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:8px 0}.rx .filter-row+.filter-row{border-top:1px solid var(--line)}.rx .filter-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);min-width:88px;flex-shrink:0;padding-top:8px}.rx .chips{display:flex;flex-wrap:wrap;gap:8px}.rx .chip{font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);background:var(--rose-bg);border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 14px;cursor:pointer;transition:all .13s;user-select:none}.rx .chip:hover{border-color:var(--rose-border)}.rx .chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.rx .chip.gi-low.active{background:var(--green);border-color:var(--green)}.rx .chip.gi-med.active{background:var(--amber);border-color:var(--amber)}.rx .bar2{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:22px}.rx .count{font-size:14px;color:var(--ink-2)}.rx .count b{color:var(--ink);font-weight:700}.rx .clear{font-family:inherit;font-size:13.5px;font-weight:600;color:var(--accent);background:none;border:0;cursor:pointer;padding:6px 4px}.rx .clear:hover{text-decoration:underline}.rx .clear:disabled{color:var(--muted);opacity:.5;cursor:default;text-decoration:none}.rx .empty{display:none;text-align:center;padding:48px 20px;color:var(--ink-2)}.rx .empty.show{display:block}.rx .empty h3{font-family:Spectral,serif;color:var(--ink);font-size:20px;margin-bottom:6px}.rx .more-wrap{display:none;justify-content:center;margin-top:30px}.rx .more-wrap.show{display:flex}.rx .more-btn{font-family:inherit;font-size:15px;font-weight:600;color:var(--accent);background:var(--card);border:1px solid var(--rose-border);border-radius:var(--r-pill);padding:12px 30px;cursor:pointer;transition:all .15s}.rx .more-btn:hover{border-color:var(--accent);background:var(--rose-bg)}.rx .scrim{position:fixed;inset:0;background:#331b3380;backdrop-filter:blur(3px);z-index:40;opacity:0;visibility:hidden;transition:opacity .2s}.rx .scrim.open{opacity:1;visibility:visible}.rx .drawer{position:fixed;top:0;right:0;height:100%;width:440px;max-width:92vw;background:var(--bg);z-index:50;box-shadow:-20px 0 60px -20px #331b3380;transform:translate(100%);transition:transform .25s ease;display:flex;flex-direction:column}.rx .drawer.open{transform:translate(0)}.rx .drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--line)}.rx .drawer-head .title{font-family:Spectral,serif;font-size:25px;color:var(--ink)}.rx .drawer-head .summary{font-size:13px;color:var(--ink-2);margin-top:2px}.rx .x-btn{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;font-size:18px;line-height:1}.rx .x-btn:hover{border-color:var(--accent);color:var(--accent)}.rx .drawer-body{flex:1;overflow-y:auto;padding:18px 22px}.rx .drawer-foot{border-top:1px solid var(--line);padding:16px 22px;background:var(--bg)}.rx .cart-empty{text-align:center;padding:40px 16px;color:var(--ink-2)}.rx .cart-empty .disc{width:66px;height:66px;border-radius:50%;background:var(--rose-band);color:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.rx .cart-empty .disc svg{width:30px;height:30px}.rx .cart-view{display:flex;gap:6px;background:var(--rose-bg);border:1px solid var(--line);border-radius:var(--r-pill);padding:4px;margin:0 0 18px}.rx .cart-view .cv-btn{flex:1;border:0;background:transparent;color:var(--ink-2);font:inherit;font-size:13px;font-weight:600;padding:7px 10px;border-radius:var(--r-pill);cursor:pointer;transition:background .15s,color .15s}.rx .cart-view .cv-btn.on{background:var(--card);color:var(--accent);box-shadow:var(--shadow)}.rx .cart-group{margin-bottom:22px}.rx .cart-group .g-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.rx .cart-group .g-title{font-family:Spectral,serif;font-size:18px;color:var(--ink)}.rx .cart-group .g-serves{font-size:12px;color:var(--muted);font-weight:600}.rx .remove{font-family:inherit;font-size:12.5px;font-weight:600;color:var(--accent);background:none;border:0;cursor:pointer}.rx .remove:hover{text-decoration:underline}.rx .cart-list{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.rx .cart-item{display:flex;align-items:flex-start;gap:11px;padding:10px 14px;cursor:pointer;border-top:1px solid var(--line);font-size:14.5px}.rx .cart-item:first-child{border-top:0}.rx .cart-item input{position:absolute;opacity:0;width:0;height:0}.rx .cart-item .box{width:18px;height:18px;margin-top:1px}.rx .cart-item input:checked~span{color:var(--muted);text-decoration:line-through}.rx .cart-actions{display:flex;gap:8px;margin:12px 0 8px}.rx .cart-actions .btn{flex:1;flex-direction:column;gap:4px;font-size:12px;padding:10px 6px}.rx .cart-actions .btn svg{width:18px;height:18px}.rx .clear-all{display:block;width:100%;text-align:center;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--muted);background:none;border:0;cursor:pointer;padding:8px}.rx .clear-all:hover{color:var(--accent)}.rx .clear-confirm{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;margin-top:4px;background:var(--rose-bg);border:1px solid var(--rose-border);border-radius:12px}.rx .clear-confirm .clear-q{font-size:13px;font-weight:600;color:var(--ink)}.rx .clear-confirm .clear-btns{display:flex;gap:8px}.rx .clear-confirm button{font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;border-radius:999px;padding:7px 16px;border:1px solid transparent}.rx .clear-confirm .clear-no{background:var(--card);color:var(--ink-2);border-color:var(--rose-border)}.rx .clear-confirm .clear-no:hover{border-color:var(--muted)}.rx .clear-confirm .clear-yes{background:var(--accent);color:#fff}.rx .clear-confirm .clear-yes:hover{background:var(--accent-dark)}.rx .cart-email{display:none;background:var(--card);border:1px solid var(--rose-border);border-radius:14px;padding:16px;margin-bottom:12px}.rx .cart-email.open{display:block}.rx .foot-note{margin-top:46px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.rx .print-only{display:none}@media print{.rx .ing-card,.rx .nutri-card,.rx ol.steps li{box-shadow:none}.rx .print-only{display:block}}
