.sp3dc-configured-product div.product{--sp3dc-orange:#ff6600;--sp3dc-ink:#171717;--sp3dc-muted:#6f6f6f;--sp3dc-line:#dedede}
.sp3dc-configured-product div.product .sp3dc-product-preview{width:54%;margin:0 5% 36px 0;float:left;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;box-sizing:border-box}
.sp3dc-product-preview *,.sp3dc-customer-controls *{box-sizing:border-box}
.sp3dc-preview-tabs{display:inline-flex;gap:5px;padding:0;background:transparent;border-radius:10px;margin-bottom:14px}
.sp3dc-preview-tab{appearance:none!important;border:1px solid #333!important;background:#1d1d1d!important;color:#fff!important;border-radius:8px!important;padding:10px 14px!important;font-weight:750;font-size:13px;line-height:1.2;cursor:pointer;box-shadow:none!important}
.sp3dc-preview-tab:hover,.sp3dc-preview-tab:focus{background:#090909!important;color:#fff!important}.sp3dc-preview-tab.is-active{background:#050505!important;color:#fff!important;border-color:#555!important;box-shadow:inset 0 -2px 0 var(--sp3dc-orange)!important}
.sp3dc-preview-stage{min-height:470px;display:grid;place-items:center;padding:0;overflow:visible;background:transparent;border:0;border-radius:0}
.sp3dc-product-photo{display:block;max-width:100%;max-height:500px;width:auto;height:auto;object-fit:contain;border-radius:8px}
.sp3dc-photo-placeholder{min-height:350px;display:grid;place-items:center;color:#777;text-align:center}
.sp3dc-design-preview{width:min(92%,520px);aspect-ratio:1;position:relative}.sp3dc-design-preview[hidden],.sp3dc-product-photo[hidden]{display:none!important}
.sp3dc-realistic-svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 18px 16px rgba(52,34,14,.15))}
.sp3dc-preview-loading,.sp3dc-preview-error{height:100%;display:grid;place-items:center;text-align:center;color:#777;padding:24px}.sp3dc-preview-error{color:#9b2c2c}
.sp3dc-preview-thumbs{display:flex;gap:9px;align-items:center;margin-top:12px;overflow:auto;padding:2px}
.sp3dc-photo-thumb,.sp3dc-design-thumb{appearance:none!important;flex:0 0 62px!important;width:62px!important;height:62px!important;min-height:62px!important;border:2px solid transparent!important;border-radius:8px!important;background:#171717!important;color:#fff!important;padding:2px!important;display:grid;place-items:center;cursor:pointer;overflow:hidden;box-shadow:none!important}
.sp3dc-photo-thumb img{width:100%;height:100%;object-fit:cover;border-radius:5px}.sp3dc-photo-thumb.is-active{border-color:var(--sp3dc-orange)}
.sp3dc-design-thumb{border:1px solid #333!important;color:#fff!important;font-size:25px}.sp3dc-design-thumb:hover,.sp3dc-design-thumb:focus{background:#050505!important}.sp3dc-design-thumb.is-active{border:2px solid #666!important;box-shadow:inset 0 -2px 0 var(--sp3dc-orange)!important}
.sp3dc-design-thumb .sp3dc-realistic-svg{width:100%;height:100%;filter:none;pointer-events:none}
.sp3dc-configured-product div.product .sp3dc-customer-controls{border:1px solid #303030;border-radius:10px;padding:20px;margin:20px 0;box-shadow:none}
.sp3dc-customer-controls h2{font-size:20px;margin:0 0 4px}.sp3dc-control-intro{font-size:13px;color:var(--sp3dc-muted);margin:0 0 16px}
.sp3dc-customer-controls>label,.sp3dc-material-options legend{display:block;font-size:12px;font-weight:700;margin:13px 0 6px}
.sp3dc-customer-controls textarea,.sp3dc-customer-controls select{display:block;width:100%;border:1px solid #c9c9c9;border-radius:8px;background:#fff;padding:10px 11px;min-height:43px;font:inherit;color:#222}
.sp3dc-customer-controls textarea{resize:vertical;line-height:1.3;text-transform:uppercase}.sp3dc-customer-controls>small{display:block;color:#777;font-size:11px;margin-top:5px}
.sp3dc-customer-controls textarea[hidden]{display:none!important}.sp3dc-rich-text{min-height:118px;padding:10px 11px;background:#fff;color:#222;border:1px solid #c9c9c9;border-radius:8px;line-height:1.5;text-transform:uppercase;white-space:pre-wrap;overflow-wrap:anywhere}.sp3dc-rich-text:focus{outline:2px solid #555;outline-offset:1px}.sp3dc-inline-chip{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:1.5em;height:1.5em;margin:0 .08em;border:1px solid #bbb;border-radius:5px;background:#f2ede5;user-select:all}.sp3dc-inline-chip svg{width:1.1em;height:1.1em;fill:#333;pointer-events:none}.sp3dc-inline-clipart{margin-top:12px}.sp3dc-inline-clipart>label{display:block;font-size:12px;font-weight:700;margin:0 0 6px}.sp3dc-inline-clipart>small{display:block;margin-top:5px;color:#777;font-size:11px}.sp3dc-inline-picker{display:flex;gap:7px}.sp3dc-inline-picker select{flex:1;min-width:0}.sp3dc-customer-controls .sp3dc-inline-picker button{appearance:none!important;white-space:nowrap;background:#222!important;border:1px solid #333!important;border-radius:8px!important;color:#fff!important;padding:8px 10px!important;font-size:12px!important;cursor:pointer}.sp3dc-customer-controls .sp3dc-inline-picker button:hover{background:#050505!important}
.sp3dc-clipart-choice-preview{display:flex;align-items:center;gap:12px;margin:8px 0;padding:8px;border:1px solid #444;border-radius:8px;font-size:12px}.sp3dc-clipart-choice-preview[hidden]{display:none}.sp3dc-clipart-choice-preview svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2;overflow:visible}
.sp3dc-customer-controls .sp3dc-font-select.has-font-examples{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.sp3dc-font-picker{position:relative}.sp3dc-customer-controls .sp3dc-font-trigger{appearance:none!important;display:block;width:100%;min-height:46px;text-align:left;padding:9px 38px 9px 12px!important;border:1px solid #4b4b4b!important;border-radius:8px!important;background:#222!important;color:#fff!important;font-size:18px;line-height:1.3;cursor:pointer;position:relative}.sp3dc-font-trigger::after{content:'⌄';position:absolute;right:13px;top:50%;transform:translateY(-50%);font:20px system-ui,sans-serif}.sp3dc-font-panel{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 5px);max-height:min(320px,55vh);overflow-y:auto;overscroll-behavior:contain;padding:9px;border:1px solid #4b4b4b;border-radius:9px;background:#191919;box-shadow:0 12px 28px rgba(0,0,0,.3)}.sp3dc-font-panel[hidden],.sp3dc-font-search[hidden],.sp3dc-font-empty[hidden]{display:none!important}.sp3dc-font-search{display:block;width:100%;min-height:40px;margin:0 0 8px;padding:8px 10px;border:1px solid #777;border-radius:7px;background:#fff;color:#222;font:inherit}.sp3dc-font-examples{display:grid;grid-template-columns:1fr;gap:6px}.sp3dc-customer-controls .sp3dc-font-example{appearance:none!important;display:block;text-align:left;width:100%;min-width:0;border:1px solid #393939!important;border-radius:8px!important;background:#222!important;color:#fff!important;padding:10px!important;cursor:pointer;box-shadow:none!important;font-size:18px;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.sp3dc-customer-controls .sp3dc-font-example[hidden]{display:none!important}.sp3dc-customer-controls .sp3dc-font-example.is-selected{border-color:#ff6600!important;box-shadow:inset 0 0 0 1px #ff6600!important}.sp3dc-font-empty{margin:8px 3px;color:#ddd}
.sp3dc-clipart-tools{margin-top:10px;display:flex;gap:8px}.sp3dc-customer-controls .sp3dc-insert-clipart{appearance:none!important;display:inline-flex;align-items:center;gap:8px;border:1px solid #333!important;border-radius:8px!important;background:#222!important;color:#fff!important;padding:8px 12px!important;font:inherit;font-size:18px;line-height:1.1;cursor:pointer;box-shadow:none!important}.sp3dc-customer-controls .sp3dc-insert-clipart span{font-size:12px;font-weight:700}.sp3dc-customer-controls .sp3dc-insert-clipart:hover,.sp3dc-customer-controls .sp3dc-insert-clipart:focus{background:#050505!important;border-color:#ff6600!important}
.sp3dc-customer-toggles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.sp3dc-customer-toggles label{display:flex;align-items:center;gap:8px;border:1px solid #171717;border-radius:8px;background:#252525;color:#fff;padding:10px;font-size:13px;font-weight:650;cursor:pointer}.sp3dc-customer-toggles label:has(input:checked){background:#050505;border-color:var(--sp3dc-orange);box-shadow:0 0 0 1px var(--sp3dc-orange)}.sp3dc-customer-toggles input{accent-color:var(--sp3dc-orange)}
.sp3dc-customer-controls .sp3dc-score-help{display:block;margin:7px 0 0;color:#a0a0a0;font-size:11px;line-height:1.4}
.sp3dc-material-options{border:0;margin:13px 0 0;padding:0;display:flex;gap:8px;flex-wrap:wrap}.sp3dc-material-options legend{width:100%;padding:0}.sp3dc-material-options label{display:flex;align-items:center;gap:7px;border:1px solid #171717;border-radius:8px;background:#252525;color:#fff;padding:9px 10px;cursor:pointer;font-size:12px}.sp3dc-material-options label small{color:#cfcfcf;font-size:11px}.sp3dc-material-options input{position:absolute;opacity:0}.sp3dc-material-options label:has(input:checked){background:#050505;border-color:var(--sp3dc-orange);box-shadow:0 0 0 1px var(--sp3dc-orange)}
.sp3dc-material-dot{width:16px;height:16px;border-radius:50%;background:var(--sp3dc-material);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.sp3dc-live-price{display:flex;align-items:end;justify-content:space-between;border-top:1px solid #e5e5e5;margin-top:17px;padding-top:15px}.sp3dc-live-price span{font-size:12px;color:#777}.sp3dc-live-price strong{font-size:27px;letter-spacing:-.5px}
.sp3dc-customer-message{min-height:18px;color:#666;font-size:11px;text-align:right;margin-top:4px}.sp3dc-customer-controls.is-building .sp3dc-live-price{opacity:.58}
.sp3dc-configured-product form.cart .single_add_to_cart_button{background:#171717!important;color:#fff!important;border-color:#171717!important}.sp3dc-configured-product form.cart .single_add_to_cart_button:hover{background:#050505!important}.sp3dc-configured-product form.cart .single_add_to_cart_button:disabled{opacity:.48;cursor:wait}
.sp3dc-cart-preview{display:block;width:100%!important;height:auto!important;aspect-ratio:1;object-fit:contain;background:transparent!important}
.sp3dc-made-to-order{display:block!important;clear:both;width:100%;margin:10px 0 18px!important;color:#555!important;font-size:13px!important;line-height:1.45}
@media(max-width:768px){.sp3dc-configured-product div.product .sp3dc-product-preview{float:none;width:100%;margin:18px 0 8px;padding:0}.sp3dc-customer-controls>.sp3dc-product-preview{margin:14px 0 18px;padding:0}.sp3dc-preview-stage{min-height:240px;padding:0}.sp3dc-design-preview{width:min(80vw,300px)}.sp3dc-product-photo{max-height:300px}.sp3dc-configured-product div.product .sp3dc-customer-controls{padding:16px;margin-top:14px}.sp3dc-customer-toggles{grid-template-columns:1fr}.sp3dc-preview-tabs{width:100%}.sp3dc-preview-tab{flex:1}.sp3dc-photo-thumb,.sp3dc-design-thumb{width:54px!important;height:54px!important;min-height:54px!important;flex-basis:54px!important}.sp3dc-made-to-order{margin:10px 0 14px!important}}

.sp3dc-customer-controls.sp3dc-is-cake textarea,.sp3dc-customer-controls.sp3dc-is-cake .sp3dc-rich-text{text-transform:none}

/* Keep optional row controls readable in theme layouts and on phones. */
.sp3dc-row-adjustments { margin:16px 0; }
.sp3dc-row-adjustments summary { cursor:pointer; font-weight:600; }
.sp3dc-row-adjustments .sp3dc-row-adjustment { display:grid; grid-template-columns:1fr; gap:12px; border:1px solid currentColor; border-radius:8px; padding:12px; margin:14px 0; min-width:0; }
.sp3dc-row-adjustment legend { font-weight:600; padding:0 6px; font-size:14px; }
.sp3dc-row-adjustments .sp3dc-row-adjustment label { display:grid; grid-template-columns:1fr auto; gap:6px; margin:0; font-size:13px; }
.sp3dc-row-adjustments .sp3dc-row-adjustment input[type=range] { grid-column:1 / -1; display:block; width:100%; margin:4px 0; min-height:24px; }
.sp3dc-row-adjustment output { font-variant-numeric:tabular-nums; }
.sp3dc-row-adjustments .sp3dc-reset-rows { width:100%; padding:10px; font-size:13px; }

/* Compact dark cake editor, matching the shop surface. */
.sp3dc-configured-product div.product .sp3dc-customer-controls.sp3dc-is-cake{background:#151515;color:#eee;border:1px solid #333;padding:16px;--sp3dc-muted:#b9b9b9}
.sp3dc-customer-controls.sp3dc-is-cake textarea,.sp3dc-customer-controls.sp3dc-is-cake select,.sp3dc-customer-controls.sp3dc-is-cake input[type=number],.sp3dc-customer-controls.sp3dc-is-cake input[type=text]{background:#1d1d1d;color:#f4f4f4;border-color:#444}
.sp3dc-customer-controls.sp3dc-is-cake textarea{height:88px;min-height:88px}
.sp3dc-is-cake .sp3dc-review-note{font-size:12px;line-height:1.45;color:#bbb;margin:8px 0}
.sp3dc-is-cake .sp3dc-row-adjustments{margin:10px 0;font-size:13px}
.sp3dc-is-cake .sp3dc-row-adjustments>p{font-size:12px;margin:6px 0;color:#bbb}
.sp3dc-is-cake .sp3dc-row-adjustments .sp3dc-row-adjustment{border:0;padding:4px 0;margin:6px 0;gap:4px;background:transparent}
.sp3dc-is-cake .sp3dc-row-adjustment legend{padding:0;font-size:12px}
.sp3dc-is-cake .sp3dc-row-adjustment label{font-size:11px}
.sp3dc-is-cake .sp3dc-stake-adjustment{display:grid;grid-template-columns:1fr auto;font-size:12px;margin:10px 0 0}
.sp3dc-is-cake .sp3dc-stake-adjustment[hidden]{display:none}
.sp3dc-is-cake .sp3dc-stake-adjustment input{grid-column:1/-1;width:100%;accent-color:#ff6600}
.sp3dc-is-cake .sp3dc-row-adjustments input{accent-color:#ff6600}
.sp3dc-is-cake .sp3dc-reset-rows{background:#242424!important;color:#eee!important;border:1px solid #444!important;border-radius:6px;min-height:32px;margin-top:8px;padding:6px!important}
.sp3dc-cake-view-toggle{display:flex;gap:6px;margin:0 0 8px}
.sp3dc-cake-view-toggle button{background:#242424!important;color:#eee!important;border:1px solid #444!important;border-radius:7px!important;font-size:12px!important;padding:7px 12px!important;min-height:32px!important}
.sp3dc-cake-view-toggle button[aria-pressed=true]{border-color:#ff6600!important}
.sp3dc-cake-main .sp3dc-design-preview{width:100%;aspect-ratio:auto}
.sp3dc-cake-main .sp3dc-preview-stage{min-height:0}
.sp3dc-cake-main .sp3dc-design-preview>svg{display:block;width:100%;max-height:520px}
@media(min-width:769px){.sp3dc-configured-product div.product .sp3dc-cake-main{position:sticky;top:100px}.sp3dc-is-cake .sp3dc-row-adjustments .sp3dc-row-adjustment{grid-template-columns:1fr}}
@media(max-width:768px){.sp3dc-cake-main .sp3dc-design-preview>svg{max-height:330px}.sp3dc-cake-main .sp3dc-preview-tabs{margin-bottom:8px}.sp3dc-is-cake .sp3dc-control-intro{margin-bottom:8px}}

/* Compact links to the merchant's selected cake topper alternatives. */
.sp3dc-configured-product .sp3dc-topper-links{margin:16px 0 20px;font-size:14px;line-height:1.5}
.sp3dc-topper-links>strong{display:block;margin-bottom:8px;color:inherit}
.sp3dc-topper-links>div{display:flex;flex-wrap:wrap;gap:8px}
.sp3dc-configured-product .sp3dc-topper-links a{display:block;padding:8px 12px;border:1px solid currentColor;border-radius:8px;color:inherit;text-decoration:none;overflow-wrap:anywhere;max-width:100%}
.sp3dc-configured-product .sp3dc-topper-links a:hover{text-decoration:underline}
.sp3dc-configured-product .sp3dc-topper-links a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Consistent range layout, isolated from WooCommerce/theme form spacing. */
.sp3dc-configured-product .sp3dc-is-cake .sp3dc-row-adjustment{margin:8px 0!important;padding:0!important;gap:2px!important}
.sp3dc-configured-product .sp3dc-is-cake .sp3dc-row-adjustment legend{margin:0 0 3px!important;line-height:1.4}
.sp3dc-configured-product .sp3dc-is-cake .sp3dc-row-adjustment label,
.sp3dc-configured-product .sp3dc-is-cake .sp3dc-stake-adjustment,
.sp3dc-configured-product .sp3dc-is-cake .sp3dc-strength-adjustment{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;line-height:1.4;padding:0!important}
.sp3dc-configured-product .sp3dc-is-cake .sp3dc-strength-adjustment{margin:12px 0 4px!important;font-size:12px}
.sp3dc-configured-product .sp3dc-is-cake input[type=range]{grid-column:1/-1;display:block!important;width:100%!important;min-width:0;max-width:none;height:24px!important;min-height:24px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;accent-color:#ff6600;cursor:pointer}
.sp3dc-configured-product .sp3dc-is-cake output{margin:0!important;padding:0!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.sp3dc-configured-product .sp3dc-is-cake .sp3dc-reset-rows{border-radius:6px!important;box-shadow:none!important;line-height:1.3;min-height:32px!important;margin:8px 0 0!important}
.sp3dc-configured-product .sp3dc-is-cake .sp3dc-stake-adjustment[hidden]{display:none!important}

/* Customer name position: compact directional buttons. */
.sp3dc-configured-product .sp3dc-name-stepper {border:0!important;padding:0!important;margin:12px 0!important;min-width:0;}
.sp3dc-configured-product .sp3dc-name-stepper legend {font-size:13px;font-weight:600;margin:0 0 6px;padding:0;}
.sp3dc-configured-product .sp3dc-stepper-buttons {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.sp3dc-configured-product .sp3dc-stepper-buttons button {display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;margin:0;padding:8px 12px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;box-shadow:none;font-size:18px;line-height:1.2;}
.sp3dc-configured-product .sp3dc-stepper-buttons button span {font-size:12px;}
.sp3dc-configured-product .sp3dc-stepper-buttons button:disabled {opacity:.35;cursor:default;}
.sp3dc-configured-product .sp3dc-stepper-buttons button:focus-visible {outline:2px solid #ff7900;outline-offset:2px;}

/* Keep adjustment buttons secondary even when the theme styles all buttons. */
.sp3dc-configured-product .sp3dc-customer-controls .sp3dc-stepper-buttons button {
 background:#222!important;color:#eee!important;border:1px solid #444!important;
 border-radius:6px!important;box-shadow:none!important;min-height:36px!important;
 padding:6px 10px!important;font-weight:500!important;transform:none!important;
}
.sp3dc-configured-product .sp3dc-customer-controls .sp3dc-stepper-buttons button:hover:not(:disabled) {background:#303030!important;border-color:#777!important;}
.sp3dc-configured-product .sp3dc-customer-controls .sp3dc-stepper-buttons button:active:not(:disabled) {border-color:#ff7900!important;}
