.addon-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.addon-editor-modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.addon-editor-header{padding:20px 24px;border-bottom:1px solid var(--slate-200);position:relative}.addon-editor-header h2{margin:0 0 4px;font-size:20px;color:var(--slate-900)}.addon-editor-product-name{margin:0;color:var(--slate-500);font-size:14px}.addon-editor-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;color:var(--slate-500);cursor:pointer;line-height:1;padding:4px}.addon-editor-close:hover{color:var(--slate-900)}.addon-editor-content{flex:1 1;overflow-y:auto;padding:8px 24px}.addon-editor-content .addon-selector{margin:16px 0}.addon-editor-error,.addon-editor-loading{text-align:center;padding:40px;color:var(--slate-500)}.addon-editor-footer{padding:16px 24px;border-top:1px solid var(--slate-200);display:flex;justify-content:flex-end}.addon-editor-done{background:var(--green-darker);color:#fff;border:none;padding:10px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.addon-editor-done:hover{background:var(--green-darkest)}@media (max-width:600px){.addon-editor-modal{max-height:90vh}}.variant-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.variant-editor-modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.variant-editor-header{padding:20px 24px;border-bottom:1px solid var(--slate-200);position:relative}.variant-editor-header h2{margin:0 0 4px;font-size:20px;color:var(--slate-900)}.variant-editor-product-name{margin:0;color:var(--slate-500);font-size:14px;padding-right:40px}.variant-editor-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;color:var(--slate-500);cursor:pointer;line-height:1;padding:4px}.variant-editor-close:hover{color:var(--slate-900)}.variant-editor-content{flex:1 1;overflow-y:auto;padding:24px}.variant-editor-error,.variant-editor-loading{text-align:center;padding:40px;color:var(--slate-500)}.variant-editor-section{margin-bottom:24px}.variant-editor-section:last-child{margin-bottom:0}.variant-editor-section h3{font-size:16px;font-weight:600;color:var(--slate-900);margin:0 0 12px}.variant-editor-tiles{display:flex;flex-wrap:wrap;gap:10px}.variant-editor-tile{width:60px;height:60px;border:2px solid var(--slate-200);border-radius:8px;background:#fff;cursor:pointer;position:relative;overflow:hidden;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:border-color .15s,box-shadow .15s}.variant-editor-tile:hover{border-color:var(--slate-400)}.variant-editor-tile.selected{border-color:var(--green-500);box-shadow:0 0 0 2px rgba(34,197,94,.2)}.variant-editor-swatch{width:28px;height:28px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.variant-editor-swatch.variant-editor-swatch-image{overflow:hidden;display:flex;align-items:center;justify-content:center}.variant-editor-swatch.variant-editor-swatch-image img{width:100%;height:100%;object-fit:cover;border-radius:50%}.variant-editor-name-tile{width:28px;height:28px;border-radius:50%;background:var(--slate-100);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--slate-500)}.variant-editor-tile-price{font-size:10px;color:var(--slate-500);margin-top:4px}.variant-editor-tile.selected .variant-editor-tile-price{color:var(--slate-900)}.variant-editor-tile-check{position:absolute;top:2px;right:2px;width:18px;height:18px;background:var(--green-500);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.variant-editor-hover-name{margin-top:10px;font-size:13px;color:var(--slate-900);min-height:20px}.variant-editor-hover-name.empty{color:var(--slate-400);font-style:italic}.variant-editor-footer{padding:16px 24px;border-top:1px solid var(--slate-200);display:flex;justify-content:flex-end;gap:12px}.variant-editor-cancel{background:#fff;color:var(--slate-500);border:1px solid var(--slate-200);padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.variant-editor-cancel:hover{background:var(--slate-50);color:var(--slate-900)}.variant-editor-save{background:var(--green-darker,#5B7648);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.variant-editor-save:hover{background:var(--green-darkest,#4a6139)}@media (max-width:600px){.variant-editor-modal{max-height:90vh}.variant-editor-tile{width:52px;height:52px}.variant-editor-name-tile,.variant-editor-swatch{width:24px;height:24px}.variant-editor-tiles{gap:8px}}.cart-page .container{max-width:1100px;margin:0 auto;padding:16px}.cart-page h1{margin:32px 0 24px}.cart-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:24px;gap:24px}.cart-group{border:1px solid var(--slate-200);border-radius:8px;padding:16px;margin-bottom:16px;background:#fff}.cart-lines .cart-line{display:grid;grid-template-columns:120px 1fr;grid-gap:16px;gap:16px;padding:12px 0}.cart-line-main{border-bottom:none}.cart-line img{width:100%;border:1px solid #eee;border-radius:6px;background:#fff}.cart-line .title{display:inline-block;font-weight:600;color:var(--slate-900);margin-bottom:4px;text-decoration:none}.cart-line .title:hover{color:var(--gray-500)}.cart-line .variant{color:var(--slate-500);font-size:13px;margin-bottom:4px}.cart-variants{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.cart-variant-selection{display:flex;align-items:center;gap:6px;background:var(--slate-50);padding:4px 10px;border-radius:4px;font-size:13px}.cart-variant-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex-shrink:0}.cart-variant-label{color:var(--slate-500)}.cart-variant-value{color:var(--slate-900);font-weight:500}.cart-edit-variants{margin-left:136px;margin-top:-4px;margin-bottom:8px}.edit-variants-btn{background:none;border:1px solid var(--slate-200);color:var(--gray-500);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px}.edit-variants-btn:hover{background:var(--slate-100)}@media (max-width:900px){.cart-edit-variants{margin-left:116px}}@media (max-width:600px){.cart-edit-variants{margin-left:0;margin-top:8px}}.cart-line .price{font-weight:600;margin-bottom:8px}.cart-line .qty{display:flex;align-items:center;gap:8px}.cart-line .qty input{width:64px;padding:6px;border:1px solid var(--slate-200);border-radius:4px}.cart-line .qty .remove{background:none;border:none;color:var(--red-500);cursor:pointer;font-size:14px}.cart-line .qty .remove:hover{text-decoration:underline}.cart-addons{margin-left:136px;padding-top:8px;border-top:1px dashed var(--slate-200)}.cart-addon-line{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--slate-500)}.addon-connector{font-family:monospace;color:var(--slate-400);font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.addon-image{width:40px;height:40px;object-fit:cover;border:1px solid var(--slate-200);border-radius:4px}.addon-info{display:flex;flex-direction:column;gap:2px}.addon-title{font-size:14px;color:var(--slate-700)}.addon-price{font-size:13px;color:var(--slate-500)}.edit-addons-btn{margin-top:8px;background:none;border:1px solid var(--slate-200);color:var(--gray-500);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.edit-addons-btn:hover{background:var(--slate-100)}.cart-group-total{display:flex;justify-content:flex-end;gap:12px;padding-top:12px;margin-top:12px;border-top:1px solid var(--slate-200);font-size:15px}.cart-group-total .total-amount{font-weight:600;color:var(--slate-900)}.cart-summary{border:1px solid #eee;border-radius:8px;padding:16px;background:#fff;height:-moz-fit-content;height:fit-content}.cart-summary h2{margin-top:0;margin-bottom:12px}.cart-summary .row{display:flex;justify-content:space-between;margin:8px 0}.cart-summary .hint{color:var(--slate-500);font-size:13px;margin:8px 0 16px}.checkout-btn{display:block;width:100%;background:var(--green-primary,var(--green-primary));color:white;border:none;padding:12px 16px;border-radius:6px;cursor:pointer;margin-bottom:16px;text-align:center;text-decoration:none}.checkout-btn:hover{background:var(--green-dark,#5B7648);color:white}.helper-link{display:block;color:var(--slate-700);margin-top:8px;text-decoration:none}.cart-loading{padding:8px 12px;background:#fef3c7;color:#92400e;border-radius:4px;font-size:14px;margin-bottom:16px}@media (max-width:900px){.cart-grid{grid-template-columns:1fr}.cart-line{grid-template-columns:100px 1fr}.cart-addons{margin-left:116px}}@media (max-width:600px){.cart-line{grid-template-columns:80px 1fr;gap:12px}.cart-addons{margin-left:0;margin-top:12px}}.cart-empty{text-align:center;padding:120px 0 160px}.cart-empty .lead{font-size:24px;font-weight:700;color:var(--slate-900);margin:0 0 8px}.cart-empty .sub{color:var(--slate-500);margin:0 0 24px}.cart-empty .spacer{height:8px}.cart-empty .btn{display:inline-block;background:#0ea5e9;color:#fff;padding:12px 16px;border-radius:8px;text-decoration:none}.cart-addon-line .addon-attributes-summary{display:block;font-size:12px;color:var(--slate-500);margin-top:2px}