.grind-section[data-v-4038df7f]{margin-bottom:1.5rem}.section-title[data-v-4038df7f]{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:.75rem}.sr-only[data-v-4038df7f]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.grind-options[data-v-4038df7f]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;border:none;padding:0;margin:0}@media(min-width:768px){.grind-options[data-v-4038df7f]{grid-template-columns:1fr;gap:.75rem}}.grind-option[data-v-4038df7f]{position:relative}.grind-input[data-v-4038df7f]{position:absolute;opacity:0;pointer-events:none}.grind-label[data-v-4038df7f]{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff}.grind-label[data-v-4038df7f]:hover{border-color:#f59e0b;background:#fefbf3}.grind-input:checked+.grind-label[data-v-4038df7f]{border-color:#f59e0b;background:#fef3c7}.grind-input:focus+.grind-label[data-v-4038df7f]{outline:2px solid #f59e0b;outline-offset:2px}.grind-input:disabled+.grind-label[data-v-4038df7f]{cursor:not-allowed;opacity:.5;background:#f9fafb}.grind-icon[data-v-4038df7f]{color:#f59e0b;font-size:1rem;flex-shrink:0}.grind-content[data-v-4038df7f]{min-width:0;flex:1}.grind-name[data-v-4038df7f]{font-weight:600;font-size:.875rem;color:#111827;margin-bottom:.125rem;display:block}.grind-description[data-v-4038df7f]{font-size:.75rem;color:#6b7280;display:block}.grind-input:checked+.grind-label .grind-name[data-v-4038df7f]{color:#92400e}.grind-input:checked+.grind-label .grind-description[data-v-4038df7f]{color:#a16207}.quantity-selector-wrapper[data-v-89f795b2]{padding:1rem 1.5rem;border-bottom:1px solid var(--color-brand-border-light)}.quantity-selector-container[data-v-89f795b2]{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.quantity-label[data-v-89f795b2]{font-family:var(--font-heading);font-size:.9375rem;font-weight:var(--font-weight-regular);letter-spacing:.01em;flex-shrink:0;min-width:fit-content}.quantity-control-group[data-v-89f795b2]{display:flex;align-items:center;background-color:var(--color-brand-bg-white);border:1px solid var(--color-brand-border-light);border-radius:var(--radius-button);overflow:hidden;transition:all var(--duration-normal) var(--ease-in-out);box-shadow:0 1px 2px #00000005}.quantity-control-group[data-v-89f795b2]:hover{border-color:var(--color-brand-border-medium);box-shadow:0 2px 4px #0000000a}.quantity-control-group[data-v-89f795b2]:focus-within{border-color:var(--color-brand-accent);box-shadow:0 0 0 3px #178b5f14}.quantity-btn[data-v-89f795b2]{min-width:2.5rem;width:100%;height:2rem;display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;color:var(--color-brand-text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);position:relative}.quantity-btn[data-v-89f795b2]:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:1px;height:1rem;background-color:var(--color-brand-border-light)}.quantity-btn-decrease[data-v-89f795b2]:after{right:0}.quantity-btn-increase[data-v-89f795b2]:after{left:0}.quantity-btn[data-v-89f795b2]:not(.quantity-btn-disabled):hover{background-color:var(--color-brand-bg-light);color:var(--color-brand-accent)}.quantity-btn[data-v-89f795b2]:not(.quantity-btn-disabled):active{background-color:var(--color-brand-bg-base);transform:scale(.96)}.quantity-btn-disabled[data-v-89f795b2]{color:var(--color-brand-text-light);cursor:not-allowed!important;opacity:.4;pointer-events:none}.quantity-btn-disabled[data-v-89f795b2]:hover{background-color:transparent;color:var(--color-brand-text-light);transform:none}.quantity-btn i[data-v-89f795b2]{font-size:.875rem;font-weight:600}.quantity-display-wrapper[data-v-89f795b2]{display:flex;align-items:center;justify-content:center;min-width:3.5rem}.quantity-input[data-v-89f795b2]{width:100%;max-width:3.5rem;padding:.375rem .5rem;text-align:center;font-size:1rem;font-weight:var(--font-weight-semibold);font-family:var(--font-monospace);color:var(--color-brand-text-primary);background-color:transparent;border:none;outline:none;transition:all var(--duration-fast) var(--ease-in-out)}.quantity-input[data-v-89f795b2]:hover{background-color:var(--color-brand-bg-light)}.quantity-input[data-v-89f795b2]:focus{background-color:var(--color-brand-bg-light)}.quantity-input[data-v-89f795b2]::-webkit-inner-spin-button,.quantity-input[data-v-89f795b2]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-input[type=number][data-v-89f795b2]{appearance:textfield;-moz-appearance:textfield}.quantity-total[data-v-89f795b2]{display:flex;align-items:center;flex-shrink:0}.total-price[data-v-89f795b2]{font-family:var(--font-monospace);font-size:1rem;font-weight:var(--font-weight-semibold);letter-spacing:-.01em}@media(max-width:640px){.quantity-selector-container[data-v-89f795b2]{flex-direction:column;align-items:stretch;gap:.75rem}.quantity-label[data-v-89f795b2]{font-size:.875rem}.quantity-control-group[data-v-89f795b2]{justify-content:center}.quantity-total[data-v-89f795b2]{justify-content:center;padding-top:.5rem;border-top:1px solid var(--color-brand-border-light)}}.pb-safe[data-v-e6ecf1ab]{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.cart-button[data-v-e6ecf1ab]{border-radius:var(--radius-button);font-weight:var(--font-weight-semibold);letter-spacing:.01em;position:relative;overflow:hidden}.cart-button-primary[data-v-e6ecf1ab]{background-color:var(--color-brand-primary);color:var(--color-brand-text-inverted);box-shadow:0 2px 4px #2925241a}.cart-button-primary[data-v-e6ecf1ab]:hover{background-color:var(--color-brand-primary-hover);transform:translateY(-2px);box-shadow:0 4px 8px #29252426}.cart-button-primary[data-v-e6ecf1ab]:active{transform:translateY(0);box-shadow:0 2px 4px #2925241a}.cart-button-primary[data-v-e6ecf1ab]:focus{box-shadow:0 2px 4px #2925241a,0 0 0 3px #29252426}.cart-button-success[data-v-e6ecf1ab]{background-color:var(--color-brand-accent);color:#fff;transform:scale(1.02);box-shadow:0 4px 12px #178b5f4d}.cart-button-disabled[data-v-e6ecf1ab]{background-color:var(--color-brand-bg-base);color:var(--color-brand-text-light);cursor:not-allowed;box-shadow:none}.spinner-loading[data-v-e6ecf1ab]{width:1.25rem;height:1.25rem;border:2px solid var(--color-brand-text-inverted);border-top-color:transparent;border-radius:50%;animation:spinner-rotation-e6ecf1ab .8s linear infinite}@keyframes spinner-rotation-e6ecf1ab{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-burst[data-v-e6ecf1ab]{position:relative;animation:burst .5s ease-out}.success-checkmark[data-v-e6ecf1ab]{animation:checkmark-pop-e6ecf1ab .5s cubic-bezier(.68,-.55,.265,1.55)}.confetti-container[data-v-e6ecf1ab]{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%)}.confetti[data-v-e6ecf1ab]{position:absolute;width:10px;height:10px;border-radius:50%;animation:confetti-fall-e6ecf1ab 1s ease-out forwards}.confetti-1[data-v-e6ecf1ab]{background-color:var(--color-brand-accent);animation-delay:0s;left:50%;top:50%}.confetti-2[data-v-e6ecf1ab]{background-color:var(--color-brand-500);animation-delay:.1s;left:50%;top:50%}.confetti-3[data-v-e6ecf1ab]{background-color:var(--color-brand-accent);animation-delay:.2s;left:50%;top:50%}.confetti-4[data-v-e6ecf1ab]{background-color:var(--color-brand-600);animation-delay:.05s;left:50%;top:50%}.confetti-5[data-v-e6ecf1ab]{background-color:var(--color-brand-accent);animation-delay:.15s;left:50%;top:50%}.confetti-6[data-v-e6ecf1ab]{background-color:var(--color-brand-700);animation-delay:.25s;left:50%;top:50%}.success-burst-enter-active[data-v-e6ecf1ab]{animation:burst-in-e6ecf1ab .5s cubic-bezier(.68,-.55,.265,1.55)}.success-burst-leave-active[data-v-e6ecf1ab]{animation:burst-out-e6ecf1ab .3s ease-in}@keyframes burst-in-e6ecf1ab{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes burst-out-e6ecf1ab{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@keyframes checkmark-pop-e6ecf1ab{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes confetti-fall-e6ecf1ab{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--confetti-x, 100px),var(--confetti-y, 200px)) rotate(720deg);opacity:0}}.confetti-1[data-v-e6ecf1ab]{--confetti-x: -80px;--confetti-y: -100px}.confetti-2[data-v-e6ecf1ab]{--confetti-x: 80px;--confetti-y: -100px}.confetti-3[data-v-e6ecf1ab]{--confetti-x: -100px;--confetti-y: 50px}.confetti-4[data-v-e6ecf1ab]{--confetti-x: 100px;--confetti-y: 50px}.confetti-5[data-v-e6ecf1ab]{--confetti-x: -60px;--confetti-y: 120px}.confetti-6[data-v-e6ecf1ab]{--confetti-x: 60px;--confetti-y: 120px}.cart-button-primary[data-v-e6ecf1ab]:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background-color:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.cart-button-primary[data-v-e6ecf1ab]:active:before{width:300px;height:300px}.cart-button[data-v-e6ecf1ab]{transition:background-color var(--duration-normal) var(--ease-in-out),transform var(--duration-normal) var(--ease-in-out),box-shadow var(--duration-normal) var(--ease-in-out)}.product-options-manager[data-v-a2e0d969]{width:100%;display:flex;flex-direction:column;gap:1.25rem}.option-group[data-v-a2e0d969]{position:relative}.option-label[data-v-a2e0d969]{display:block;font-family:var(--font-family-heading, "Playfair Display", serif);font-weight:var(--font-weight-regular, 400);font-size:1.125rem;color:var(--color-brand-text-primary, #292524);margin-bottom:.875rem;letter-spacing:var(--letter-spacing-tight, -.025em);line-height:var(--line-height-tight, 1.25)}.variation-selector[data-v-a2e0d969]{position:relative}.variation-options[data-v-a2e0d969]{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.variation-option[data-v-a2e0d969]{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.375rem;padding:1rem 1.125rem;background:var(--color-brand-bg-white, #ffffff);border:1.5px solid var(--color-brand-border-light, #e7e5e4);border-radius:var(--radius-md, 1rem);cursor:pointer;transition:all var(--duration-normal, .3s) var(--ease-in-out);text-align:left;overflow:visible}.variation-option[data-v-a2e0d969]:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff0,#ffffff1a,#fff0);opacity:0;transition:opacity var(--duration-normal, .3s) var(--ease-in-out);pointer-events:none}.variation-option[data-v-a2e0d969]:hover:not(:disabled):before{opacity:1}.variation-option[data-v-a2e0d969]:hover:not(:disabled){border-color:var(--color-brand-accent, #178b5f);transform:translateY(-2px);box-shadow:0 4px 12px -3px #178b5f26,0 2px 6px -2px #178b5f1a}.variation-option[data-v-a2e0d969]:active:not(:disabled){transform:translateY(0);transition-duration:.1s}.variation-option.selected[data-v-a2e0d969]{border-color:var(--color-brand-accent, #178b5f);background:linear-gradient(135deg,#178b5f08,#178b5f0f);box-shadow:0 3px 10px -2px #178b5f33,0 2px 5px -2px #178b5f26}.variation-option.selected[data-v-a2e0d969]:after{content:"✓";position:absolute;top:.625rem;right:.625rem;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;background:var(--color-brand-accent, #178b5f);color:#fff;border-radius:50%;font-size:.75rem;font-weight:700;box-shadow:0 2px 6px #178b5f4d;animation:checkmark-appear-a2e0d969 .3s cubic-bezier(.34,1.56,.64,1)}@keyframes checkmark-appear-a2e0d969{0%{opacity:0;transform:scale(.5) rotate(-45deg)}to{opacity:1;transform:scale(1) rotate(0)}}.variation-option.out-of-stock[data-v-a2e0d969]{opacity:.4;cursor:not-allowed;background:var(--color-brand-50, #fafaf9);border-color:var(--color-brand-border-medium, #d6d3d1);border-style:dashed;transform:none}.variation-option.out-of-stock[data-v-a2e0d969]:hover{transform:none;box-shadow:none;border-color:var(--color-brand-border-medium, #d6d3d1)}.variation-name[data-v-a2e0d969]{font-family:var(--font-family-body, system-ui, sans-serif);font-weight:var(--font-weight-medium, 500);font-size:.9375rem;color:var(--color-brand-text-primary, #292524);line-height:var(--line-height-tight, 1.25);transition:color var(--duration-normal, .3s) var(--ease-in-out);padding-right:1.5rem}.variation-option:hover:not(:disabled) .variation-name[data-v-a2e0d969]{color:var(--color-brand-accent, #178b5f)}.variation-option.selected .variation-name[data-v-a2e0d969]{color:var(--color-brand-accent, #178b5f);font-weight:var(--font-weight-semibold, 600)}.variation-price[data-v-a2e0d969]{font-family:var(--font-family-mono, "IBM Plex Mono", monospace);font-size:1.125rem;font-weight:var(--font-weight-bold, 700);color:var(--color-brand-text-primary, #292524);letter-spacing:-.02em;transition:color var(--duration-normal, .3s) var(--ease-in-out)}.variation-option.selected .variation-price[data-v-a2e0d969]{color:var(--color-brand-accent, #178b5f)}.variation-discount[data-v-a2e0d969]{position:absolute;bottom:.625rem;right:.625rem;background:var(--color-brand-accent, #178b5f);color:var(--color-brand-text-inverted, #ffffff);font-family:var(--font-family-mono, "IBM Plex Mono", monospace);font-size:.6875rem;font-weight:var(--font-weight-bold, 700);padding:.25rem .5rem;border-radius:var(--radius-badge, 9999px);box-shadow:0 1px 4px #178b5f4d;letter-spacing:.01em}.stock-badge[data-v-a2e0d969]{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:var(--font-weight-medium, 500);color:var(--color-brand-text-tertiary, #78716c);padding:.125rem .5rem;background:var(--color-brand-100, #f5f5f4);border-radius:var(--radius-sm, .75rem);margin-top:.25rem}.stock-badge[data-v-a2e0d969]:before{content:"●";color:var(--color-brand-text-light, #a8a29e);font-size:.5rem}.stock-warning-inline[data-v-a2e0d969]{margin:.5rem 0;animation:slideIn-a2e0d969 .3s ease-out}.stock-warning-content[data-v-a2e0d969]{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fbbf241a,#f59e0b0d);backdrop-filter:blur(10px);border:1px solid rgba(251,191,36,.3);border-left:3px solid rgb(251,191,36);border-radius:.75rem;box-shadow:0 2px 8px #fbbf241a}.stock-warning-icon[data-v-a2e0d969]{flex-shrink:0;font-size:1.5rem;color:#f59e0b;margin-top:.125rem}.stock-warning-text[data-v-a2e0d969]{flex:1;min-width:0}.stock-warning-title[data-v-a2e0d969]{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:#92400e;font-family:var(--font-family-heading, "Playfair Display", serif)}.stock-warning-message[data-v-a2e0d969]{margin:0;font-size:.8125rem;line-height:1.5;color:#78350f}.stock-warning-close[data-v-a2e0d969]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:.375rem;color:#b45309;cursor:pointer;transition:all .2s ease}.stock-warning-close[data-v-a2e0d969]:hover{background:#fbbf2426;color:#92400e}.stock-warning-close[data-v-a2e0d969]:focus{outline:2px solid rgb(251,191,36);outline-offset:2px}.stock-warning-close i[data-v-a2e0d969]{font-size:1rem}.slide-fade-enter-active[data-v-a2e0d969]{transition:all .3s ease-out}.slide-fade-leave-active[data-v-a2e0d969]{transition:all .2s ease-in}.slide-fade-enter-from[data-v-a2e0d969]{transform:translateY(-10px);opacity:0}.slide-fade-leave-to[data-v-a2e0d969]{transform:translateY(-5px);opacity:0}@keyframes slideIn-a2e0d969{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.debug-info[data-v-a2e0d969]{margin-top:var(--spacing-element-md, 2rem);padding:1.25rem;background:linear-gradient(135deg,#fafaf9f2,#f5f5f4f2);backdrop-filter:blur(10px);border:1px solid var(--color-brand-border-light, #e7e5e4);border-left:3px solid var(--color-brand-accent, #178b5f);border-radius:var(--radius-md, 1rem);font-size:var(--font-size-small, .875rem);box-shadow:var(--shadow-sm, 0 1px 2px 0 rgb(0 0 0 / .05))}.debug-info strong[data-v-a2e0d969]{display:block;color:var(--color-brand-text-primary, #292524);font-weight:var(--font-weight-semibold, 600);margin-bottom:.625rem;font-family:var(--font-family-heading, "Playfair Display", serif)}.debug-info pre[data-v-a2e0d969]{margin:0;font-family:var(--font-family-mono, "IBM Plex Mono", monospace);font-size:.75rem;color:var(--color-brand-text-secondary, #57534e);line-height:1.6;white-space:pre-wrap;word-break:break-all;padding:.75rem;border-radius:var(--radius-sm, .75rem)}@media(max-width:768px){.variation-options[data-v-a2e0d969]{grid-template-columns:repeat(2,1fr);gap:.625rem}.option-label[data-v-a2e0d969]{font-size:1rem;margin-bottom:.75rem}.variation-option[data-v-a2e0d969]{padding:.875rem 1rem}.variation-name[data-v-a2e0d969]{font-size:.875rem}.variation-price[data-v-a2e0d969]{font-size:1rem}.variation-discount[data-v-a2e0d969]{font-size:.625rem;padding:.2rem .4rem}}@media(max-width:480px){.product-options-manager[data-v-a2e0d969]{gap:1.25rem}.option-label[data-v-a2e0d969]{font-size:.9375rem}.variation-options[data-v-a2e0d969]{gap:.5rem}.variation-option[data-v-a2e0d969]{padding:.75rem .875rem}.variation-option[data-v-a2e0d969]:hover:not(:disabled){transform:translateY(-1px)}}@media(prefers-reduced-motion:no-preference){.variation-option[data-v-a2e0d969]{animation:fade-slide-up-a2e0d969 .3s ease-out backwards}.variation-option[data-v-a2e0d969]:nth-child(1){animation-delay:30ms}.variation-option[data-v-a2e0d969]:nth-child(2){animation-delay:60ms}.variation-option[data-v-a2e0d969]:nth-child(3){animation-delay:90ms}.variation-option[data-v-a2e0d969]:nth-child(4){animation-delay:.12s}.variation-option[data-v-a2e0d969]:nth-child(n+5){animation-delay:.15s}@keyframes fade-slide-up-a2e0d969{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
