/* Finite, event-driven motion. No external runtime, animated media, or idle loops. */
.product-card{transition:transform .2s,border-color .2s,box-shadow .2s}.product-card.is-in-box{border-color:#7d9a6c}.product-card:hover{transform:translateY(-3px)}
.selected-indicator{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:4px;padding:5px 8px;background:var(--paper);border:1px solid #c7d6bd;color:var(--green);border-radius:4px;font-size:9px;box-shadow:0 2px 8px #1d352b0d}.selected-indicator svg{width:12px;height:12px}.bestseller-badge{position:absolute;bottom:11px;right:11px;padding:3px 7px;background:#efe1b9;color:#6c4c1f;font-size:9px;border-radius:3px}
.button,.product-add,.quantity-control button,.filter-tabs button,.taste-options button,.budget-presets button{touch-action:manipulation}.button:active,.product-add:active,.quantity-control button:active{transform:scale(.97)}
.progress-track>span{width:100%;transform:scaleX(0);transform-origin:left;transition:transform .24s ease,background-color .2s}
.box-preview.more-items{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-calc-label{display:flex;flex-direction:column;align-items:flex-start;line-height:1.35}.mobile-calc-label small{font-size:9px;color:var(--green);font-weight:600;margin-top:2px}
.suggestion-panel{margin-top:12px;padding:20px;background:#f6f6ed;border:1px solid #dce3d1;border-radius:6px;scroll-margin-top:110px}.suggestion-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px}.suggestion-panel .eyebrow{font-size:8px;letter-spacing:1.5px}.suggestion-panel h4{font-family:var(--serif);font-size:28px;font-weight:400;letter-spacing:-.5px;color:var(--green);line-height:1.15;margin-top:6px}.suggestion-panel-heading .icon-button{width:32px;height:32px;font-size:23px;flex-shrink:0;border-color:#d7decb;background:var(--paper)}
.taste-options{display:flex;gap:7px;flex-wrap:wrap}.taste-options button{display:flex;align-items:center;justify-content:center;min-height:40px;padding:9px 12px;border:1px solid #d5deca;background:var(--paper);border-radius:30px;font-size:11px;color:#607055;transition:background-color .17s,border-color .17s,color .17s}.taste-options button:hover{border-color:#8caa79}.taste-options button.active{background:var(--green);border-color:var(--green);color:#fff}.taste-description{font-size:11px;color:var(--muted);line-height:1.75;min-height:20px;margin-top:12px}
.suggestion-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:15px;border-top:1px solid #dce2d1}.suggestion-controls>label{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:8px}.suggestion-controls select{background:var(--paper);border:1px solid #cbd5bf;border-radius:4px;padding:9px 6px;color:var(--green);font-size:11px;min-height:40px}.suggestion-controls>button{background:transparent;border:0;display:flex;align-items:center;gap:6px;font-size:10px;color:var(--green);padding:8px 0;min-height:40px;white-space:nowrap}.suggestion-controls svg{width:14px;height:14px}.recommendation-status{font-size:10px;line-height:1.7;color:#63715b;margin-block:15px 10px}.recommendation-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.recommendation-card{min-width:0;background:var(--paper);border:1px solid #d8dfcd;border-radius:5px;padding:13px;display:flex;flex-direction:column}.recommendation-card-top{display:flex;flex-direction:column;gap:3px}.recommendation-card-top strong{font-size:11px;color:var(--green);font-weight:600}.recommendation-card-top>span{font-size:9px;color:var(--muted)}.recommendation-photos{display:flex;gap:4px;margin-top:13px;overflow:hidden}.recommendation-photos img{width:calc((100% - 20px)/6);min-width:0;max-width:43px;aspect-ratio:1;object-fit:cover;border-radius:3px;flex:1;height:auto}.recommendation-names{font-size:10px;line-height:1.8;color:#6e7466;margin-block:12px 14px;flex:1}.recommendation-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:7px;flex-wrap:wrap}.recommendation-card-bottom>strong{font-size:15px;font-weight:600;color:var(--green)}.recommendation-card-bottom>strong small{font-size:9px;font-weight:400;color:var(--muted)}.recommendation-card-bottom>button{min-height:38px;border:1px solid #bacdad;border-radius:4px;background:#edf2e7;color:var(--green);font-size:10px;font-weight:600;padding:8px;display:flex;align-items:center;justify-content:center;gap:5px;transition:background-color .18s}.recommendation-card-bottom>button:hover{background:#dce9d3}.recommendation-card-bottom>button svg{width:12px;height:12px}.recommendation-saving{font-size:8px;color:var(--muted);line-height:1.7;margin-top:9px}.replacement-note{font-size:10px;color:#7c6c51;margin-top:12px;line-height:1.7}.recommendation-empty{grid-column:1/-1;text-align:center;padding:20px 10px 18px}.recommendation-empty>svg{width:29px;height:29px;color:#859a71}.recommendation-empty h4{font-size:25px;margin-top:12px}.recommendation-empty p{font-size:11px;line-height:1.8;color:var(--muted);max-width:300px;margin:10px auto 0}.recommendation-empty .button{font-size:10px;min-height:43px;padding:10px 13px;gap:8px;margin-top:17px;white-space:normal}.recommendation-empty .button>svg{width:16px;height:16px}
.recipe-applied{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding:10px 12px;background:#edf3e7;border:1px solid #ccdcbf;border-radius:4px;color:var(--green);font-size:11px}.recipe-applied button{border:0;background:transparent;font-size:10px;text-decoration:underline;text-underline-offset:3px;min-height:32px;padding:4px;color:var(--green)}
.taste-composition{margin-top:20px}.taste-composition-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted);line-height:1.7}.taste-composition-label>span:first-child{color:var(--green);font-weight:500}.taste-composition-bar{position:relative;height:6px;background:#e4e6d9;overflow:hidden;border-radius:20px;margin-top:8px}.taste-composition-bar span{position:absolute;inset:0;display:block;transition:transform .24s ease}.taste-composition-bar span:first-child{background:#b59669;transform-origin:left}.taste-composition-bar span:last-child{background:#79925e;transform-origin:right}
dialog[open]{animation:dialog-enter .18s ease-out}@keyframes dialog-enter{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1160px){.suggestion-panel{padding:16px}.recommendation-card-bottom{flex-direction:column;align-items:stretch;gap:8px}.recommendation-card-bottom>strong small{display:inline}.recommendation-card-bottom>button{width:100%}.suggestion-controls{flex-wrap:wrap;gap:6px}}
@media(max-width:930px) and (min-width:701px){.recommendation-results{grid-template-columns:1fr}.taste-composition-label{flex-direction:column;align-items:flex-start;gap:2px}.suggestion-panel{padding:14px}.taste-options button{font-size:10px;padding-inline:10px}.suggestion-panel-heading{gap:8px}.suggestion-panel h4{font-size:26px}.recommendation-card-bottom{flex-direction:row;align-items:center}.recommendation-card-bottom>button{width:auto}.recommendation-photos img{max-width:44px}}
@media(max-width:700px){.suggestion-panel{padding:17px}.suggestion-panel-heading{margin-bottom:15px}.suggestion-panel h4{font-size:31px}.suggestion-panel-heading .icon-button{width:44px;height:44px}.taste-options{gap:7px}.taste-options button{min-height:44px;padding:9px 13px;font-size:12px}.taste-description{font-size:12px;line-height:1.8;margin-top:13px}.suggestion-controls{flex-wrap:wrap;gap:8px}.suggestion-controls>label{font-size:12px;gap:8px;flex-wrap:wrap}.suggestion-controls select{min-height:44px;font-size:12px;padding-inline:8px}.suggestion-controls>button{min-height:44px;font-size:12px}.recommendation-status{font-size:11px}.recommendation-results{grid-template-columns:1fr;gap:12px}.recommendation-card{padding:15px}.recommendation-card-top{flex-direction:row;justify-content:space-between;align-items:center;gap:7px}.recommendation-card-top strong{font-size:13px}.recommendation-card-top>span{font-size:10px}.recommendation-photos{gap:5px;margin-top:15px}.recommendation-photos img{max-width:48px;width:auto}.recommendation-names{font-size:12px;line-height:1.75;margin-block:14px}.recommendation-card-bottom{flex-direction:row;align-items:center;gap:9px}.recommendation-card-bottom>strong{font-size:20px}.recommendation-card-bottom>strong small{font-size:10px}.recommendation-card-bottom>button{width:auto;min-height:44px;font-size:12px;padding-inline:13px}.recommendation-saving{font-size:10px}.replacement-note{font-size:11px;line-height:1.8}.recommendation-empty h4{font-size:30px}.recommendation-empty p{font-size:13px}.recommendation-empty .button{min-height:48px;font-size:12px;padding:10px 13px}.recipe-applied{font-size:12px;padding:9px 12px}.recipe-applied button{min-height:44px;font-size:12px}.taste-composition-label{font-size:11px;flex-wrap:wrap;gap:3px 10px}.selected-indicator{font-size:10px;padding:5px 7px}.mobile-bottom>a.mobile-calc{flex:1.15}.mobile-bottom>a.mobile-chat{flex:1.15}.mobile-calc-label small{font-size:9px}}
@media(max-width:380px){.suggestion-panel{padding:13px}.taste-options button{padding-inline:11px;font-size:11px}.recommendation-card{padding:12px}.recommendation-card-top{flex-wrap:wrap}.recommendation-card-bottom>strong{font-size:18px}.recommendation-card-bottom>button{font-size:11px;padding-inline:10px}.recommendation-card-bottom{gap:7px}.recipe-applied{font-size:11px}.mobile-calc-label small{font-size:8px}}
@media(hover:none){.product-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:active,.product-add:active,.quantity-control button:active{transform:none}.product-card:hover{transform:none}}
