.gu-designer,.gu-coin{--gu-ink:#19372d;--gu-accent:#285c46;--gu-line:#d6ddd4;--gu-paper:#f7f5ef;color:var(--gu-ink)}
.gu-wide-form{grid-column:1/-1!important;clear:both;width:100%!important;max-width:none!important;display:block!important;padding:24px 0;margin:32px 0!important}
.gu-designer{width:100%!important;max-width:none!important;background:#fff;border:1px solid var(--gu-line);border-radius:14px;padding:24px!important;box-sizing:border-box;scroll-margin-top:65px}
.gu-designer *, .gu-coin *{box-sizing:border-box}.gu-designer [hidden]{display:none!important}
.gu-designer h2{margin:0 0 12px}.gu-note{font-size:.95rem;line-height:1.6;max-width:75ch;margin:12px 0 20px;color:#526157}
.gu-steps{display:flex;gap:8px;background:var(--gu-paper);padding:7px;border-radius:12px;margin:20px 0 12px}
.gu-designer button,.gu-coin button,.gu-start{min-height:44px;border:1px solid var(--gu-line);border-radius:7px;background:#fff;color:var(--gu-ink);padding:10px 14px;font:inherit;line-height:1.25;cursor:pointer}
.gu-steps button{flex:1;background:transparent;border-color:transparent;font-weight:700}.gu-steps [aria-current=step],.gu-designer button[aria-pressed=true]{background:var(--gu-accent)!important;color:#fff!important;border-color:var(--gu-accent)!important}
.gu-designer :is(button,input,select,textarea,summary,a):focus-visible,.gu-coin :is(button,input,textarea,summary):focus-visible{outline:3px solid #ba872c;outline-offset:3px}
.gu-designer button:disabled,.gu-coin button:disabled{opacity:.48;cursor:default}.gu-history{display:flex;gap:8px;margin:0 0 18px}.gu-history button{font-size:.9rem}
.gu-layout,.gu-designer .gs-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(290px,350px)!important;gap:24px;align-items:start}
.gu-preview,.gu-tools,.gu-designer .gs-preview,.gu-designer .gs-tools{min-width:0}.gu-preview,.gu-designer .gs-preview{position:sticky;top:75px;border:1px solid var(--gu-line);border-radius:12px;padding:16px;background:var(--gu-paper)}
.gu-designer figure{margin:0}.gu-designer svg.ge-stage,.gu-designer .gau-heart-app svg,.gu-designer .gs-stage{display:block;width:100%;height:auto;max-height:670px;background:transparent;border:0;border-radius:8px;touch-action:none}
.gu-designer figcaption{font-size:.85rem;line-height:1.55;color:#526157;margin-top:12px}.gu-designer .ge-summary{font-size:.9rem;margin:12px 0}.gu-designer .ge-status,.gu-designer .gau-heart-status,.gu-designer .gs-status{padding:12px;border-radius:8px;background:#e6eee3;font-size:.95rem;line-height:1.5;margin:12px 0}
.gu-designer .ge-status.ge-error,.gu-designer .gs-status[data-error=true]{background:#fff0d9;color:#61421b}.gu-tools>*,.gu-designer .gs-card{margin-bottom:14px}.gu-tools :is(.ge-tools,.ge-upload,fieldset),.gu-designer .gs-card{border:1px solid var(--gu-line);border-radius:12px;padding:18px;background:#fff}
.gu-designer label,.gu-coin label{display:block;font-weight:600;margin-bottom:8px}.gu-designer input:not([type=checkbox]):not([type=range]),.gu-designer select,.gu-designer textarea,.gu-coin textarea,.gu-coin input[type=file]{width:100%;min-height:44px;max-width:100%;border:1px solid #a8b9ad;border-radius:7px;padding:10px;background:#fff;color:var(--gu-ink);font:inherit}.gu-designer input[type=range]{display:block;width:100%;min-height:36px;accent-color:var(--gu-accent);margin:7px 0 14px}
.gu-designer input[type=checkbox],.gu-coin input[type=checkbox]{width:20px;height:20px;accent-color:var(--gu-accent);flex:none}.gu-designer .ge-rights,.gu-coin .gu-rights{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;line-height:1.5}.gu-designer output{display:none!important}.gu-designer .gs-curve-control output{display:inline!important}
.gu-actionbar{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.gu-designer .gs-add-actions{display:flex;gap:8px;margin:0}.gu-actionbar .gs-library-slot{display:flex}.gu-designer .ge-tabs,.gu-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.gu-designer .ge-tabs button{flex:1;overflow-wrap:anywhere;min-width:85px}.gu-designer .ge-tools>button{margin:6px 5px 4px 0}.gu-designer .gau-heart-fields{display:block}.gu-designer .gau-heart-fields fieldset{margin:0}.gu-designer .gau-heart-fields legend{font-size:1.15rem;font-weight:700}.gu-designer .gau-heart-fields label{margin-bottom:16px}.gu-designer .gau-heart-fields button{margin:5px 4px 5px 0}
.gu-designer .ge-sample{font-size:1.5rem;padding:12px;background:var(--gu-paper);overflow-wrap:anywhere}.gu-designer .ge-muted,.gu-designer .gs-note{font-size:.88rem;line-height:1.55;color:#526157}.gu-designer .ge-grid,.gu-designer .gs-three{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gu-designer .gu-internal,.gu-designer .gs-resolution{display:none!important}
.gu-designer .gu-price-card{background:var(--gu-accent);color:#fff}.gu-designer .gu-price-card .gs-note,.gu-designer .gu-price-card .gs-price{color:#fff}.gu-designer .gs-elements{display:flex;flex-direction:column;gap:6px}.gu-designer details,.gu-coin details{border:1px solid var(--gu-line);border-radius:8px;background:#eef3eb;padding:10px 12px;margin:12px 0}.gu-designer summary,.gu-coin summary{cursor:pointer;font-weight:600;min-height:28px}.gu-designer .ge-upload h3{font-size:1rem}.gu-upload-gate{font-size:.85rem;background:#edf2e9;padding:10px;border-radius:6px}.gu-start{display:inline-flex;align-items:center;background:#285c46;color:white!important;text-decoration:none;margin:15px 0}.gu-variant{border:1px solid #d6ddd4;background:#f7f5ef;padding:20px;border-radius:12px;margin-bottom:20px}.gu-wide-form table.variations{margin:0}.gu-wide-form .single_variation_wrap{width:100%}.gu-wide-form .single_variation{margin:18px 0}.gu-wide-form .quantity,.gu-wide-form .single_add_to_cart_button{margin-top:20px}
.gu-coin{background:#f7f5ef;border:1px solid var(--gu-line);padding:22px;border-radius:12px;margin:20px 0}.gu-coin h2{font-size:1.4rem}.gu-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.gu-coin p{font-size:.9rem;line-height:1.6}.gu-coin input:disabled{opacity:.5;cursor:not-allowed}.gu-file-list{list-style:none;margin:12px 0;padding:0}.gu-file-list li{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--gu-line);font-size:.88rem}.gu-file-list span{overflow-wrap:anywhere;min-width:0}.gu-coin .gu-upload-status:not(:empty){padding:12px;background:#e6eee3;border-radius:8px}.gu-coin details p{overflow-wrap:anywhere}
@media(max-width:820px){.gu-designer{padding:14px!important}.gu-layout,.gu-designer .gs-layout{grid-template-columns:1fr!important;gap:16px}.gu-preview,.gu-designer .gs-preview{position:static}.gu-designer svg.ge-stage,.gu-designer .gau-heart-app svg,.gu-designer .gs-stage{max-height:500px}.gu-steps{gap:3px}.gu-designer .gu-steps button{font-size:.9rem;padding:10px 5px;min-width:0;flex:1 1 0;overflow-wrap:anywhere}.gu-actionbar>*{flex:1}.gu-actionbar .gs-add-actions{display:contents}.gu-designer .gs-card{padding:15px}.gu-wide-form{padding:0}.gu-note{font-size:.88rem}.gu-file-list li{flex-wrap:wrap}}

.gu-current-price{background:#285c46;color:white;padding:16px 18px;border-radius:12px}.gu-current-price p{color:white;margin:8px 0 0;font-size:1.2rem;font-weight:700}.gu-mode-hint{font-size:.9rem;color:#526157}.gu-designer .ge-upload:has(input[type=range]:disabled)>div:has(input[type=range]),.gu-designer .ge-upload:has(input[type=range]:disabled)>button{display:none}

@media(max-width:820px){.gu-wide-form table.variations,.gu-wide-form table.variations tbody,.gu-wide-form table.variations tr,.gu-wide-form table.variations td,.gu-wide-form table.variations th{display:block;width:100%;max-width:100%;box-sizing:border-box}.gu-wide-form table.variations select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.gu-wide-form table.variations td,.gu-wide-form table.variations th{padding:8px 0!important}.gu-variant{padding:14px}}

/* Four-sided pendant: interactive CSS 3D, independent from engraving coordinates. */
.gu-designer .gb3d{border-bottom:1px solid var(--gu-line);padding-bottom:14px;margin-bottom:18px;--gb-metal:#b6bec1;--gb-ink:#303332}
.gu-designer .gb3d h3,.gu-designer .gb-flat-title{font-size:1.05rem;margin:0 0 10px}
.gb3d-view{position:relative;width:100%;height:220px;overflow:clip;perspective:850px;border-radius:10px;background:radial-gradient(ellipse at 50% 65%,#dadbd0 0,transparent 65%);touch-action:none;cursor:grab}
.gb3d-view:active{cursor:grabbing}.gb3d-view:focus-visible{outline:3px solid #ba872c;outline-offset:2px}
.gb3d-scene{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}
.gb3d-model{position:absolute;width:420px;height:54px;left:-210px;top:-27px;transform-style:preserve-3d}
.gb3d-face{position:absolute;inset:0;backface-visibility:hidden;background:linear-gradient(172deg,#ffffffaa 0,#ffffff33 6%,transparent 18%,#00000018 73%,#ffffff88 96%),var(--gb-metal);box-shadow:inset 0 0 0 1px #ffffff60,inset 0 -2px 2px #00000045;border-radius:2px}
.gu-designer .gb3d-face svg{display:block;width:420px;height:54px;max-height:none;background:transparent;pointer-events:none;overflow:hidden}.gu-designer .gb3d-face text{stroke:none!important}
.gb3d-end{position:absolute;width:54px;height:54px;backface-visibility:hidden;background:linear-gradient(135deg,#ffffff90,transparent 25%,#00000050),var(--gb-metal);box-shadow:inset 0 0 0 1px #ffffff66}
.gb3d-left{left:-27px;transform:rotateY(-90deg)}.gb3d-right{left:393px;transform:rotateY(90deg)}
.gb3d-sides,.gb3d-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.gu-designer .gb3d-sides button{flex:1 1 90px;font-size:.83rem;min-width:0;padding:8px}.gu-designer .gb3d-actions button{font-size:.8rem;padding:8px;min-width:44px}.gu-designer .gb3d-status{font-weight:600;margin:8px 0;font-size:.85rem}.gu-designer .gb3d-help{font-size:.8rem;line-height:1.5;margin:7px 0;color:#526157}.gu-bar-designer .gu-preview{position:static}
@media(max-width:600px){.gb3d-view{height:160px}.gu-designer .gb3d-sides button{flex-basis:40%}.gu-designer .gb3d-actions button{flex:1 1 58px}.gu-designer .gb3d-actions button:last-child{flex-basis:100%}}

.gu-bar-designer .gu-preview>.ge-tabs{display:none}

/* Shared slate model choice, matching the visual controls of the star card. */
#gau-slate .gs-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
#gau-slate button.gs-model{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:10px 6px;border:1px solid #b9c2ad;border-radius:10px;background:#faf8f0;color:#2f4036;text-align:center;line-height:1.35;box-shadow:none}
#gau-slate button.gs-model[aria-pressed=true]{outline:2px solid #4d613f;outline-offset:-2px;background:#e7edda;border-color:#4d613f}
#gau-slate button.gs-model:focus-visible{outline:3px solid #183c31;outline-offset:3px}
#gau-slate .gs-model-picture{display:flex;align-items:center;justify-content:center;width:100%;height:80px;overflow:hidden;border-radius:7px;background:#f4f1e7}
#gau-slate .gs-model img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;margin:0}
#gau-slate .gs-model strong,#gau-slate .gs-model span{font-size:14px}
#gau-slate .gs-model small{font-size:12px;opacity:.9}
#gau-slate .gs-model-select,#gau-slate .gs-model-select-label{display:none!important}
#gau-slate .gs-model-announcement:empty{display:none}
#gau-slate .gs-quantity-wrap[hidden]{display:none!important}
@media(max-width:600px){#gau-slate .gs-models{grid-template-columns:repeat(2,minmax(0,1fr))}#gau-slate .gs-model-picture{height:68px}}

#gau-slate .gu-price-card .gs-price-note,#gau-slate .gu-price-card .gs-model-announcement{color:#fff9ed!important}
#gau-slate button.gs-model[aria-pressed=true]{background:#e7edda!important;color:#24352a!important;border:2px solid #566c3a!important;box-shadow:inset 0 0 0 1px #566c3a!important}
#gau-slate button.gs-model[aria-pressed=true] strong,#gau-slate button.gs-model[aria-pressed=true] span,#gau-slate button.gs-model[aria-pressed=true] small{color:#24352a!important}
.gau-slate-price-scope{display:block;font-size:.78em;font-weight:400;line-height:1.5;margin-top:5px}

#gau-engraving.gu-bar-designer .gu-preview>.ge-tabs{display:none!important}
@media(max-width:600px){.gu-designer .gu-steps button{font-size:13px!important;padding:8px 5px!important;word-break:normal!important;overflow-wrap:normal!important;min-height:44px}.gu-designer .gb3d-actions button{font-size:13px!important;padding:8px!important;min-height:44px}.gu-designer .gb3d-actions button:nth-child(-n+4){flex-basis:calc(50% - 6px)}}

/* Walnut keyring: persistent side choice and warm, clear workspace. */
#gau-engraving.ge-wood-designer{--gu-accent:#735033;--gu-line:#d9cbb9;--gu-paper:#faf5eb}
.ge-wood-designer .ge-wood-sides{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;padding:8px;background:#eee4d4;border-radius:12px}
.ge-wood-designer .ge-wood-sides button{min-height:54px;font-weight:700;word-break:normal;overflow-wrap:normal}
.ge-wood-designer .ge-summary{font-weight:600;background:#fff;padding:12px;border-radius:8px;border:1px solid var(--gu-line)}
.ge-wood-designer .gu-tools .ge-tabs{padding:8px;background:var(--gu-paper);border-radius:10px}
.ge-wood-designer .gu-tools .ge-tabs button{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;display:block}
.ge-wood-designer .ge-tools{border-top:4px solid var(--gu-accent)}
.ge-wood-designer .ge-tools label{font-size:.95rem}
.ge-wood-designer .ge-wood-sides button:hover{box-shadow:0 0 0 3px #b4854930;border-color:#94683e}
@media(max-width:600px){.ge-wood-designer .ge-wood-sides button{font-size:14px;padding:10px 8px}.ge-wood-designer .gu-preview{padding:12px}}
