@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Syne:wght@600;700&family=Allura&display=swap"); #orion-designer {
--fg:          #111827;
--fg-muted:    #6b7280;
--fg-faint:    #9ca3af;
--bg-vp:       transparent; --bg-hud:      #ffffff;
--border:      rgba(0,0,0,.07);
--accent:      #111827;
--accent2:     #374151;
--ring:        0 0 0 3px rgba(17,24,39,.18);
--r:           14px; --r-sm:        8px;
--font:        'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
--font-display:'Syne', var(--font);
--font-script: 'Belfast Oblique', 'Allura', 'Snell Roundhand', cursive;
--hud-h:       96px;
--shadow-lg:   0 20px 60px rgba(0,0,0,.13), 0 4px 16px rgba(0,0,0,.07);
--shadow-sm:   0 1px 4px rgba(0,0,0,.08);
--trans:       .18s cubic-bezier(.4,0,.2,1);
font-family: var(--font);
color: var(--fg);
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
}
#orion-designer *, #orion-designer *::before, #orion-designer *::after {
box-sizing: inherit;
}
.orion-toggle-input:checked ~ .orion-toggle-track span.orion-toggle-thumb {
right: 3px!important;
left: auto;
}
div#orion-hud-stack:after, div#orion-pack-step:after {
content: '';
position: absolute;
height: 100%;
z-index: -1;
background-color: #ffffff;
width: 100%;
position: absolute;
left: 0;
top: initial;
bottom: 0px;
}
div#orion-pack-step {
position: relative;
} .orion-designer {
display: grid;
grid-template-rows: 1fr auto;  overflow: hidden;  } .orion-viewport {
position: relative;
overflow: hidden; background: transparent;
min-height: 0; } .orion-viewport canvas {
display: block;
position: relative;
z-index: 2;
} .orion-viewport-top {
position: absolute;
top: 16px;
right: 16px;
display: flex;
flex-direction: column;
gap: 8px;
z-index: 10;
}
.orion-vp-btn {
width: 38px;
height: 38px;
background: rgba(255,255,255,.72);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid rgba(255,255,255,.9);
border-radius: var(--r-sm);
color: var(--fg);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
padding: 9px;
transition: background var(--trans), transform .12s;
box-shadow: var(--shadow-sm);
}
.orion-vp-btn:hover  { background: rgba(255,255,255,.95); transform: scale(1.06); }
.orion-vp-btn:active { transform: scale(.96); }
.orion-vp-btn svg    { width: 100%; height: 100%; } .orion-loading-overlay {
position: absolute;
inset: 0;
background: rgba(240,238,234,.82);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 16px;
font-size: 12px;
font-weight: 500;
color: var(--fg-muted);
letter-spacing: .04em;
z-index: 30;
}
.orion-spinner {
width: 28px;
height: 28px;
border: 2.5px solid rgba(17,24,39,.12);
border-top-color: var(--fg);
border-radius: 50%;
animation: orion-spin .65s linear infinite;
}
@keyframes orion-spin { to { transform: rotate(360deg); } } .orion-overlay {
position: absolute;
inset: 0;
z-index: 50;
display: flex;
align-items: flex-end;
background: rgba(30,26,22,.35);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
animation: orion-overlay-in .2s ease;
}
.orion-overlay[hidden] { display: none; }
@keyframes orion-overlay-in { from { opacity: 0; } to { opacity: 1; } }
.orion-overlay-inner {
width: 100%;
background: rgba(255,255,255,.97);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border-radius: var(--r) var(--r) 0 0;
border-top: 1px solid var(--border);
animation: orion-slide-up .22s cubic-bezier(.34,1.4,.64,1);
max-height: 70%;
overflow: hidden;
display: flex;
flex-direction: column;
} @media (min-width: 900px) {
.orion-overlay {
align-items: flex-start;
justify-content: flex-start;
background: rgba(30,26,22,.22);
}
.orion-overlay-inner {
width: 340px;
max-height: 100%;
border-radius: var(--r) 0 0 var(--r);
animation: orion-slide-left .24s cubic-bezier(.34,1.4,.64,1);
}
@keyframes orion-slide-left {
from { transform: translateX(-18px); opacity: 0; }
to   { transform: none; opacity: 1; }
}
.orion-overlay-header { padding: 18px 18px 14px; }
.orion-overlay-list { padding: 6px 0 14px; }
.orion-overlay-item { padding: 12px 18px; }
}
@keyframes orion-slide-up { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
.orion-overlay-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 18px 24px 14px;
border-bottom: 1px solid var(--border);
flex-shrink: 0;
}
.orion-overlay-title {
font-family: var(--font-display);
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
color: var(--fg-muted);
}
.orion-overlay-close {
width: 32px;
height: 32px;
background: none;
border: 1px solid var(--border);
border-radius: 50%;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
padding: 7px;
color: var(--fg);
transition: background var(--trans);
}
.orion-overlay-close:hover { background: rgba(0,0,0,.05); }
.orion-overlay-close svg  { width: 100%; height: 100%; }
.orion-overlay-list {
overflow-y: auto;
padding: 8px 0 16px;
scrollbar-width: thin;
scrollbar-color: rgba(0,0,0,.12) transparent;
}
.orion-overlay-item {
display: flex;
align-items: center;
gap: 16px;
width: 100%;
padding: 14px 24px;
background: none;
border: none;
cursor: pointer;
text-align: left;
transition: background var(--trans);
border-bottom: 1px solid var(--border);
}
.orion-overlay-item:last-child { border-bottom: none; }
.orion-overlay-item:hover  { background: rgba(0,0,0,.03); }
.orion-overlay-item.active { background: rgba(17,24,39,.04); }
.orion-overlay-num {
font-family: var(--font-display);
font-size: 11px;
font-weight: 700;
color: var(--fg-faint);
letter-spacing: .06em;
min-width: 22px;
}
.orion-overlay-label {
flex: 1;
font-size: 14px;
font-weight: 500;
color: var(--fg);
}
.orion-overlay-item.active .orion-overlay-label { font-weight: 700; }
.orion-overlay-chevron {
width: 16px;
height: 16px;
color: var(--fg-faint);
flex-shrink: 0;
}
.orion-overlay-item.active .orion-overlay-chevron { color: var(--fg); } .orion-hud {
display: flex;
align-items: center;
gap: 0;
min-height: var(--hud-h);  padding: 0;
position: relative; } .orion-hud-nav {
display: flex;
align-items: center;
gap: 6px;
padding: 0 20px 0 24px;
flex-shrink: 0;
height: 100%;
}
.orion-nav-btn {
width: 32px;
height: 32px;
background: none;
border: 1.5px solid var(--border);
border-radius: 50%;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
padding: 7px;
color: var(--fg);
transition: border-color var(--trans), background var(--trans), transform .12s;
flex-shrink: 0;
}
.orion-nav-btn:hover  { border-color: var(--fg); background: rgba(0,0,0,.04); }
.orion-nav-btn:active { transform: scale(.92); }
.orion-nav-btn svg    { width: 100%; height: 100%; }
.orion-part-counter {
display: flex;
align-items: baseline;
gap: 1px;
min-width: 40px;
text-align: center;
}
.orion-part-idx {
font-family: var(--font-display);
font-size: 18px;
font-weight: 700;
letter-spacing: -.02em;
color: var(--fg);
line-height: 1;
}
.orion-part-sep {
font-size: 12px;
color: var(--fg-faint);
font-weight: 400;
}
.orion-hud-vr {
width: 1px;
height: 28px;
background: var(--border);
margin: 0 8px;
flex-shrink: 0;
}
.orion-part-name {
font-size: 13px;
font-weight: 600;
color: var(--fg);
white-space: nowrap;
max-width: 160px;
overflow: hidden;
text-overflow: ellipsis;
}
.orion-menu-btn {
width: 34px;
height: 34px;
background: none;
border: 1.5px solid var(--border);
border-radius: var(--r-sm);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
padding: 8px;
color: var(--fg);
transition: border-color var(--trans), background var(--trans);
flex-shrink: 0;
margin-left: 6px;
}
.orion-menu-btn:hover { border-color: var(--fg); background: rgba(0,0,0,.04); }
.orion-menu-btn svg  { width: 100%; height: 100%; } .orion-hud-nav + .orion-hud-options {
border-left: 1px solid var(--border);
}
.orion-hud-options + .orion-hud-right {
border-left: 1px solid var(--border);
} .orion-hud-options {
flex: 1;
padding: 0 20px;
height: 100%;
display: flex;
align-items: center;
overflow: hidden;
min-width: 0;
} .orion-hud-part { display: none; }
.orion-hud-part.active {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
animation: orion-fadein .2s ease;
}
@keyframes orion-fadein { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } } .orion-swatches, .orion-swatches-wrap {
display: flex; gap: 8px;
align-items: center;
}
.orion-swatch, .orion-swatch-btn {
position: relative;
width: 28px;
height: 28px;
border-radius: 50%;
border: 2.5px solid rgba(0,0,0,.10);
cursor: pointer;
padding: 0;
overflow: visible;
display: flex;
align-items: center;
justify-content: center;
background: #ccc;
flex-shrink: 0;
transition: transform .15s cubic-bezier(.34,1.56,.64,1), box-shadow .15s;
}
.orion-swatch img,
.orion-swatch-btn img {
width: 100%; height: 100%;
object-fit: cover;
border-radius: 50%;
display: block;
}
.orion-swatch-color {
display: block; width: 100%; height: 100%; border-radius: 50%;
} .orion-swatch::after, .orion-swatch-btn::after {
content: attr(title);
position: absolute;
bottom: calc(100% + 7px);
left: 50%;
transform: translateX(-50%) translateY(4px);
background: var(--fg);
color: #fff;
font-size: 10px;
font-weight: 500;
white-space: nowrap;
padding: 3px 8px;
border-radius: 4px;
pointer-events: none;
opacity: 0;
transition: opacity .15s, transform .15s;
z-index: 100;
font-family: var(--font);
}
.orion-swatch:hover::after, .orion-swatch-btn:hover::after {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
.orion-swatch-text {
font-size: 9px;
font-weight: 600;
text-transform: uppercase;
color: var(--fg);
padding: 2px;
text-align: center;
line-height: 1.1;
pointer-events: none;
}
.orion-swatch-btn:has(.orion-swatch-text) {
width: auto; border-radius: 20px; padding: 5px 11px;
background: rgba(0,0,0,.04); border: 1.5px solid var(--border);
}
.orion-swatch:hover, .orion-swatch-btn:hover {
transform: scale(1.18);
box-shadow: 0 4px 12px rgba(0,0,0,.16);
}
.orion-swatch.active, .orion-swatch-btn.active,
.orion-swatch:has(input:checked), .orion-swatch-btn:has(input:checked) {
border-color: var(--fg);
box-shadow: var(--ring);
transform: scale(1.12);
} .orion-pills { display: flex; flex-wrap: wrap; gap: 5px; }
.orion-pill {
padding: 5px 13px;
border-radius: 20px;
border: 1.5px solid var(--border);
background: transparent;
font-size: 11px;
font-weight: 500;
font-family: var(--font);
cursor: pointer;
transition: all var(--trans);
color: var(--fg);
}
.orion-pill:hover { border-color: var(--fg); background: rgba(0,0,0,.04); }
.orion-pill.active,
.orion-pill:has(input:checked) { background: var(--fg); border-color: var(--fg); color: #fff; } .orion-toggle {
display: inline-flex;
align-items: center;
gap: 10px;
cursor: pointer;
user-select: none;
}
.orion-toggle input { display: none; }
.orion-toggle-slider {
position: relative;
width: 42px; height: 23px;
background: #d1d5db;
border-radius: 12px;
transition: background .2s;
flex-shrink: 0;
}
.orion-toggle-slider::after {
content: '';
position: absolute;
top: 3px; left: 3px;
width: 17px; height: 17px;
background: #fff;
border-radius: 50%;
transition: transform .2s cubic-bezier(.34,1.56,.64,1);
box-shadow: 0 1px 3px rgba(0,0,0,.18);
}
.orion-toggle input:checked + .orion-toggle-slider { background: var(--accent); }
.orion-toggle input:checked + .orion-toggle-slider::after { transform: translateX(19px); }
.orion-toggle-label { font-size: 12px; font-weight: 500; } .orion-upload-btn {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 8px 16px;
border: 1.5px dashed var(--border);
border-radius: var(--r-sm);
font-size: 12px;
font-weight: 500;
color: var(--fg-muted);
cursor: pointer;
transition: border-color var(--trans), background var(--trans), color var(--trans);
font-family: var(--font);
}
.orion-upload-btn:hover { border-color: var(--fg); color: var(--fg); background: rgba(0,0,0,.03); }
.orion-upload-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.orion-upload-input { display: none; } .orion-hud-right {
display: flex;
align-items: center;
gap: 10px;
padding: 0 24px;
flex-shrink: 0;
height: 100%;
} .orion-var-picker { display: flex; flex-direction: column; gap: 10px; }
.orion-var-group { display: flex; flex-direction: column; gap: 6px; }
.orion-var-label {
font-size: 10px;
text-transform: uppercase;
letter-spacing: .08em;
color: var(--fg-faint);
font-weight: 700;
}
.orion-var-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.orion-var-pill {
display: inline-flex;
align-items: center;
padding: 7px 12px;
border-radius: 999px;
border: 1px solid rgba(17,24,39,.18);
background: rgba(255,255,255,.75);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
color: var(--fg);
text-decoration: none;
font-size: 12px;
font-weight: 600;
transition: background var(--trans), transform .12s, border-color var(--trans);
box-shadow: 0 1px 2px rgba(0,0,0,.05);
cursor: pointer;
}
.orion-var-pill:hover { background: rgba(255,255,255,.95); transform: translateY(-1px); }
.orion-var-pill.active {
background: rgba(17,24,39,.92);
color: #fff;
border-color: rgba(17,24,39,.92);
} .orion-price-display {
position: relative;
}
.orion-price-display:empty { display: none; }
.orion-price-total {
font-family: var(--font-display);
font-size: 20px;
font-weight: 700;
color: var(--fg);
letter-spacing: -.04em;
line-height: 1;
cursor: default;
}
.orion-price-surcharge {
font-size: 13px;
font-weight: 600;
color: var(--fg);
} .orion-price-breakdown {
position: absolute;
bottom: calc(100% + 10px);
right: 0;
margin: 0;
padding: 12px 14px;
list-style: none;
background: var(--fg);
color: #fff;
border-radius: var(--r-sm);
font-size: 11.5px;
font-family: var(--font);
font-weight: 400;
min-width: 240px;
box-shadow: 0 8px 24px rgba(0,0,0,.22);
opacity: 0;
pointer-events: none;
transform: translateY(4px);
transition: opacity .15s, transform .15s;
z-index: 200;
}
.orion-price-display:hover .orion-price-breakdown,
.orion-price-display:focus-within .orion-price-breakdown {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}
.orion-price-breakdown li {
display: flex;
justify-content: space-between;
gap: 16px;
padding: 4px 0;
border-bottom: 1px solid rgba(255,255,255,.1);
}
.orion-price-breakdown li:last-child { border-bottom: none; }
.orion-price-breakdown .orion-price-base {
opacity: .6;
font-size: 11px;
}
.orion-price-line span:last-child {
font-weight: 600;
white-space: nowrap;
}
.orion-hud-actions { display: flex; gap: 8px; } .orion-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 18px;
border-radius: var(--r-sm);
font-size: 12px;
font-weight: 600;
font-family: var(--font);
cursor: pointer;
border: 1.5px solid transparent;
transition: all var(--trans);
line-height: 1;
white-space: nowrap;
}
.orion-btn svg { width: 14px; height: 14px; flex-shrink: 0; }
.orion-btn-primary {
background: var(--fg);
color: #fff;
border-color: var(--fg);
}
.orion-btn-primary:hover { background: var(--accent2); border-color: var(--accent2); box-shadow: 0 4px 14px rgba(17,24,39,.22); }
.orion-btn-primary:active { transform: scale(.98); }
.orion-btn-primary:disabled { opacity: .4; cursor: default; box-shadow: none; }
.orion-btn-ghost {
background: transparent;
color: var(--fg);
border-color: var(--border);
}
.orion-btn-ghost:hover { border-color: var(--fg); background: rgba(0,0,0,.04); } .orion-notice {
position: absolute;
top: 16px;
left: 50%;
transform: translateX(-50%);
z-index: 60;
padding: 10px 20px;
border-radius: 99px;
font-size: 12px;
font-weight: 600;
white-space: nowrap;
animation: orion-notice-in .2s cubic-bezier(.34,1.4,.64,1);
box-shadow: 0 4px 20px rgba(0,0,0,.14);
}
@keyframes orion-notice-in { from { opacity:0; transform: translateX(-50%) translateY(-8px); } to { opacity:1; transform: translateX(-50%) none; } }
.orion-notice-success { background: #111827; color: #fff; }
.orion-notice-error   { background: #dc2626; color: #fff; }
.orion-notice-info    { background: #2563eb; color: #fff; } .orion-notice-link {
color: inherit;
text-decoration: underline;
text-underline-offset: 2px;
font-weight: 600;
margin-left: 4px;
}
.orion-notice-link:hover { opacity: .8; } #orion-parts-form .orion-notice,
body > .orion-notice {
position: fixed;
left: 50%;
top: 16px;
transform: translateX(-50%);
} .orion-btn-wc { display: inline-flex !important;
align-items: center !important;
gap: 6px !important;
padding: 10px 20px !important;
font-size: 13px !important;
font-weight: 600 !important;
cursor: pointer !important;
white-space: nowrap !important;
transition: opacity .18s !important;
}
.orion-btn-wc:disabled { opacity: .45 !important; cursor: default !important; }  .orion-tpl-accordion .orion-designer {
height: auto;
grid-template-rows: 480px auto;
}
.orion-tpl-accordion .orion-hud {
flex-direction: column;
height: auto;
padding: 0;
}
.orion-tpl-accordion .orion-hud-nav   { width: 100%; border-right: none; border-bottom: 1px solid var(--border); padding: 14px 20px; }
.orion-tpl-accordion .orion-hud-options { width: 100%; height: auto; overflow: visible; display: flex; flex-direction: column; }
.orion-tpl-accordion .orion-hud-part {
display: none;
padding: 14px 20px;
border-bottom: 1px solid var(--border);
animation: orion-slide-in .18s ease;
}
.orion-tpl-accordion .orion-hud-part.active { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.orion-tpl-accordion .orion-hud-right { width: 100%; border-left: none; border-top: 1px solid var(--border); padding: 14px 20px; }
@keyframes orion-slide-in { from { opacity:0; transform: translateY(-6px); } to { opacity:1; transform: none; } } .orion-tpl-blocks .orion-designer {
height: auto;
grid-template-rows: 440px auto;
}
.orion-tpl-blocks .orion-hud {
flex-direction: column;
height: auto;
padding: 16px;
gap: 12px;
}
.orion-tpl-blocks .orion-hud-options {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 12px;
width: 100%;
height: auto;
overflow: visible;
}
.orion-tpl-blocks .orion-hud-part {
display: flex !important;
flex-direction: column;
gap: 8px;
padding: 12px;
background: rgba(0,0,0,.02);
border: 1px solid var(--border);
border-radius: var(--r-sm);
}
.orion-tpl-blocks .orion-hud-nav { display: none; }
.orion-tpl-blocks .orion-hud-right { width: 100%; border-left: none; border-top: 1px solid var(--border); padding: 12px 0 0; } .orion-tpl-wizard .orion-designer {
height: auto;
grid-template-rows: 480px auto;
}
.orion-tpl-wizard .orion-hud {
flex-direction: column;
height: auto;
padding: 0;
}
.orion-tpl-wizard .orion-hud-nav {
width: 100%;
border-right: none;
border-bottom: 1px solid var(--border);
padding: 14px 20px;
justify-content: space-between;
}
.orion-tpl-wizard .orion-hud-options {
width: 100%;
height: auto;
overflow: visible;
}
.orion-tpl-wizard .orion-hud-part {
display: none;
padding: 20px;
flex-wrap: wrap;
gap: 10px;
align-items: flex-start;
animation: orion-slide-in .22s ease;
}
.orion-tpl-wizard .orion-hud-part.active { display: flex; }
.orion-tpl-wizard .orion-hud-right { width: 100%; border-left: none; border-top: 1px solid var(--border); padding: 14px 20px; } @media (max-width: 860px) {
.orion-designer { height: auto; }
.orion-viewport  { min-height: 50vw; }
.orion-hud {
flex-wrap: wrap;
padding: 14px;
gap: 12px;
min-height: auto;
}
.orion-hud-nav,
.orion-hud-options,
.orion-hud-right {
border: none !important;
padding: 0;
width: 100%;
height: auto;
}
.orion-hud-right { justify-content: flex-end; }
.orion-part-name { max-width: none; }
}
@media (max-width: 480px) {
.orion-viewport { min-height: 260px; }
.orion-btn { padding: 9px 14px; font-size: 11px; }
}  .orion-swatch-radio {
position: absolute;
opacity: 0;
width: 0;
height: 0;
pointer-events: none;
}
.orion-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.orion-swatch {
width: 32px;
height: 32px;
border-radius: 50%;
border: 2px solid rgba(0,0,0,.1);
cursor: pointer;
padding: 0;
transition: transform .15s, box-shadow .15s;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.orion-swatch img { width:100%;height:100%;object-fit:cover;border-radius:50%; }
.orion-swatch:hover { transform: scale(1.12); box-shadow: 0 0 0 3px rgba(17,24,39,.2); }
.orion-swatch.active,
.orion-swatch:has(input:checked) {
box-shadow: 0 0 0 3px rgba(17,24,39,.25);
border-color: #111827;
transform: scale(1.08);
}
.orion-swatch-text {
font-size: 9px;
font-weight: 600;
mix-blend-mode: multiply;
text-align: center;
pointer-events: none;
padding: 2px;
line-height: 1.1;
} .orion-wc-swatch:not(:has(img)):not([style*="background"]) {
width: auto;
border-radius: 20px;
padding: 6px 12px;
background: #f3f4f6;
border: 1.5px solid #e5e7eb;
color: #111827;
font-size: 12px;
}
.orion-wc-swatch:not(:has(img)):not([style*="background"]).active {
background: #111827;
color: #fff;
border-color: #111827;
}
.orion-no-attr { font-size: 12px; color: #9ca3af; margin: 0; } .orion-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.orion-pill {
padding: 7px 14px;
border-radius: 20px;
border: 1.5px solid #e5e7eb;
background: transparent;
font-size: 12px;
font-weight: 500;
cursor: pointer;
transition: all .15s;
color: #111827;
}
.orion-pill:hover { border-color: #111827; }
.orion-pill.active,
.orion-pill:has(input:checked) { background: #111827; border-color: #111827; color: #fff; } .orion-toggle-wrap {
display: inline-flex;
align-items: center;
gap: 10px;
cursor: pointer;
user-select: none;
}
.orion-toggle {
position: relative;
display: inline-flex;
align-items: center;
flex-shrink: 0;
}
.orion-toggle-input { position: absolute; opacity: 0; width: 0; height: 0; }
.orion-toggle-track {
width: 44px;
height: 24px;
background: #d1d5db;
border-radius: 12px;
transition: background .2s;
}
.orion-toggle-thumb {
position: absolute;
left: 3px;
width: 18px;
height: 18px;
background: #fff;
border-radius: 50%;
box-shadow: 0 1px 3px rgba(0,0,0,.2);
transition: transform .2s;
top: 3px;
}
.orion-toggle-input:checked ~ .orion-toggle-track { background: #111827; }
.orion-toggle-input:checked ~ .orion-toggle-thumb { transform: translateX(20px); }
.orion-toggle-text { font-size: 13px; font-weight: 500; } .orion-upload-label {
display: inline-flex;
align-items: center;
gap: 10px;
cursor: pointer;
}
.orion-upload-input { display: none; }
.orion-upload-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 14px;
background: #f3f4f6;
border: 1.5px solid #e5e7eb;
border-radius: 6px;
font-size: 12px;
font-weight: 600;
transition: background .15s;
}
.orion-upload-label:hover .orion-upload-btn { background: #e5e7eb; }
.orion-upload-name { font-size: 11px; color: #9ca3af; } .orion-number-input {
padding: 7px 10px;
border: 1.5px solid #e5e7eb;
border-radius: 6px;
font-size: 13px;
width: 120px;
} .orion-canvas-standalone, .orion-gallery-wrapper {
width: 100%;
position: relative;
}
.orion-canvas-standalone canvas { display: block; width: 100% !important; }
.orion-canvas-controls {
position: absolute;
top: 12px;
right: 12px;
display: flex;
flex-direction: column;
gap: 6px;
z-index: 10;
} .orion-ctrl-field > .orion-ctrl-label {
display: block;
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .07em;
color: #9ca3af;
margin: 0 0 4px;
} .orion-img-swatches { gap: 8px; }
.orion-img-swatch {
width: 44px;
height: 44px;
border-radius: 6px;
padding: 0;
overflow: hidden;
border: 2px solid transparent;
cursor: pointer;
transition: transform .15s, border-color .15s, box-shadow .15s;
background: #1a1a1a;
}
.orion-img-swatch img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
pointer-events: none;
}
.orion-img-swatch:hover { transform: scale(1.1); }
.orion-img-swatch.active,
.orion-img-swatch:has(input:checked) {
border-color: var(--orion-fg, #111827);
box-shadow: 0 0 0 2px rgba(17,24,39,.25);
} .orion-swatch-btn:has(.orion-swatch-text) {
width: auto;
border-radius: 20px;
padding: 6px 13px;
background: rgba(255,255,255,.08);
font-size: 12px;
font-weight: 500;
color: #fff;
}
.orion-swatch-btn:has(.orion-swatch-text).active,
.orion-swatch-btn:has(.orion-swatch-text):has(input:checked) {
background: rgba(255,255,255,.25);
box-shadow: 0 0 0 2px rgba(255,255,255,.4);
} #orion-parts-form {
--orion-fg:          #111827;
--orion-fg2:         #374151;
--orion-muted:       #6b7280;
--orion-border:      #e5e7eb;
--orion-bg-soft:     #f9fafb;
--orion-accent:      #111827;
--orion-accent-ring: rgba(17,24,39,.2);
--orion-radius:      8px;
display: block !important;
clear: both;
width: 100%;
visibility: visible;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 14px;
line-height: 1.5;
color: var(--orion-fg);
margin: 20px 0 8px;
padding: 20px;
box-sizing: border-box;
background: var(--orion-bg-soft);
border: 1px solid var(--orion-border);
border-radius: var(--orion-radius);
} .woocommerce form.cart #orion-parts-form,
.woocommerce div.product form.cart #orion-parts-form {
flex: 1 1 100%;
min-width: 0;
max-width: none;
}  .orion-form-tabs {
display: flex;
flex-wrap: wrap;
gap: 4px;
border-bottom: 2px solid var(--orion-border);
margin-bottom: 18px;
padding-bottom: 0;
}
.orion-form-tab {
display: inline-block;
padding: 6px 14px;
border-bottom: 2px solid transparent;
margin-bottom: -2px;
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .05em;
cursor: pointer;
color: var(--orion-muted);
text-decoration: none;
transition: color .15s, border-color .15s;
flex-basis: auto;
}
.orion-form-tab:hover,
.orion-form-tab:focus {
color: var(--orion-fg2);
text-decoration: none;
outline: none;
}
.orion-form-tab.active {
color: var(--orion-fg);
border-bottom-color: var(--orion-fg);
} .orion-form-parts {display: flex;flex-direction: column;gap: 0;}
.orion-form-part  { display: none; }
.orion-form-part.active { display: block; }
.orion-part-heading {
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
color: var(--orion-muted);
margin: 0 0 12px;
} .orion-part-controls {
display: flex;
flex-direction: column;
gap: 16px;
} #orion-parts-form .orion-ctrl-field > .orion-ctrl-label {
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .07em;
color: var(--orion-muted);
margin: 0 0 8px;
}
#orion-parts-form .orion-ctrl-field {
display: flex;
flex-direction: column;
gap: 6px;
} #orion-parts-form .orion-swatches {
gap: 10px;
}
#orion-parts-form .orion-swatch {
width: 36px;
height: 36px;
border: 2px solid rgba(0,0,0,.08);
box-shadow: 0 1px 3px rgba(0,0,0,.1);
flex-basis: auto;
}
#orion-parts-form .orion-swatch:hover {
transform: scale(1.15);
box-shadow: 0 2px 8px rgba(0,0,0,.2);
}
#orion-parts-form .orion-swatch.active,
#orion-parts-form .orion-swatch:has(input:checked) {
box-shadow: 0 0 0 3px var(--orion-accent-ring);
border-color: var(--orion-accent);
transform: scale(1.08);
} #orion-parts-form .orion-img-swatch {
width: 52px;
height: 52px;
border-radius: 6px;
border: 2px solid var(--orion-border);
box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
#orion-parts-form .orion-img-swatch.active,
#orion-parts-form .orion-img-swatch:has(input:checked) {
border-color: var(--orion-accent);
box-shadow: 0 0 0 3px var(--orion-accent-ring);
} #orion-parts-form .orion-swatch-btn,
#orion-parts-form .orion-wc-swatch:not(:has(img)):not([style*="background"]) {
width: auto;
border-radius: 20px;
padding: 5px 13px;
border: 1.5px solid var(--orion-border);
background: #fff;
color: var(--orion-fg);
font-size: 12px;
font-weight: 500;
}
#orion-parts-form .orion-swatch-btn.active,
#orion-parts-form .orion-swatch-btn:has(input:checked),
#orion-parts-form .orion-wc-swatch:not(:has(img)):not([style*="background"]).active,
#orion-parts-form .orion-wc-swatch:not(:has(img)):not([style*="background"]):has(input:checked) {
background: var(--orion-accent);
color: #fff;
border-color: var(--orion-accent);
} #orion-parts-form .orion-pill {
padding: 6px 14px;
border-color: var(--orion-border);
color: var(--orion-fg);
background: #fff;
font-size: 13px;
}
#orion-parts-form .orion-pill:hover { border-color: var(--orion-fg2); }
#orion-parts-form .orion-pill.active,
#orion-parts-form .orion-pill:has(input:checked) {
background: var(--orion-accent);
border-color: var(--orion-accent);
color: #fff;
} #orion-parts-form .orion-toggle-track { background: #d1d5db; }
#orion-parts-form .orion-toggle-input:checked ~ .orion-toggle-track { background: var(--orion-accent); }
#orion-parts-form .orion-toggle-text { color: var(--orion-fg2); font-size: 13px; } #orion-parts-form .orion-upload-btn {
background: #fff;
border: 1.5px solid var(--orion-border);
color: var(--orion-fg);
border-radius: 6px;
cursor: pointer;
}
#orion-parts-form .orion-upload-btn:hover { border-color: var(--orion-fg); } #orion-parts-form .orion-notice,
body > .orion-notice {
position: fixed;
left: 50%;
top: 16px;
transform: translateX(-50%);
z-index: 99999;
} .orion-gallery-replacement {
position: relative;
overflow: hidden;
border-radius: 6px;
}
.orion-gallery-replacement .orion-canvas-wrap { display: block; } .orion-2d-toolbar {
display: flex;
flex-direction: column;
gap: 6px;
background: #1e1e1e;
border-bottom: 1px solid #333;
padding: 8px 12px;
flex-shrink: 0;
}
.o2d-tools {
display: flex;
align-items: center;
gap: 3px;
flex-wrap: wrap;
}
.o2d-tool, .o2d-act {
width: 32px;
height: 32px;
display: inline-flex;
align-items: center;
justify-content: center;
background: transparent;
border: 1px solid transparent;
border-radius: 5px;
cursor: pointer;
color: #a1a1aa;
font-size: 13px;
transition: background .12s, color .12s, border-color .12s;
flex-shrink: 0;
padding: 0;
}
.o2d-act { width: auto; padding: 0 8px; font-size: 13px; }
.o2d-tool svg { width: 16px; height: 16px; pointer-events: none; }
.o2d-tool:hover, .o2d-act:hover { background: rgba(255,255,255,.1); color: #fff; }
.o2d-tool.active { background: rgba(99,102,241,.3); border-color: #6366f1; color: #a5b4fc; }
.o2d-sep {
width: 1px;
height: 22px;
background: #333;
margin: 0 4px;
flex-shrink: 0;
} .o2d-props {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
padding: 6px 0 2px;
border-top: 1px solid #2a2a2a;
margin-top: 4px;
}
.o2d-prop-label {
font-size: 10px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .06em;
color: #71717a;
flex-shrink: 0;
}
.o2d-color-input {
width: 28px;
height: 28px;
padding: 2px;
border: 1px solid #444;
border-radius: 4px;
cursor: pointer;
background: #111;
flex-shrink: 0;
}
.o2d-num-input {
background: #111;
border: 1px solid #444;
border-radius: 4px;
color: #e4e4e7;
padding: 3px 5px;
font-size: 12px;
width: 52px;
}
.o2d-select {
background: #111;
border: 1px solid #444;
border-radius: 4px;
color: #e4e4e7;
padding: 3px 5px;
font-size: 12px;
max-width: 140px;
}
.o2d-btn-sm {
height: 26px;
padding: 0 7px;
background: #222;
border: 1px solid #444;
border-radius: 4px;
color: #a1a1aa;
cursor: pointer;
font-size: 12px;
transition: background .12s, color .12s;
}
.o2d-btn-sm:hover, .o2d-btn-sm.active { background: rgba(99,102,241,.3); border-color: #6366f1; color: #a5b4fc; }
.o2d-fmt { font-size: 13px; font-weight: 700; min-width: 26px; }
.o2d-align-btns { display: inline-flex; gap: 2px; }
.o2d-small-val  { font-size: 10px; color: #71717a; min-width: 32px; } .orion-2d-canvas-wrap {
flex: 1;
min-height: 0;
position: relative;
overflow: hidden;
}
.orion-2d-canvas-wrap canvas {
display: block;
} #orion-designer.orion-2d-active .orion-viewport {
display: flex;
flex-direction: column;
} .orion-2d-canvas-wrap .orion-loading-overlay {
background: rgba(240,240,240,.8);
color: #374151;
}  .orion-form-layout-accordion .orion-form-parts { gap: 0; }
.orion-accordion-header {
width: 100%; text-align: left;
display: flex; align-items: center; justify-content: space-between;
padding: 10px 14px;
background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 6px;
font-size: 13px; font-weight: 600; color: #111827;
cursor: pointer; transition: background .15s;
}
.orion-accordion-header:hover { background: #f1f5f9; }
.orion-accordion-header.open  { border-radius: 6px 6px 0 0; border-bottom-color: transparent; }
.orion-accordion-arrow { font-size: 14px; transition: transform .2s; }
.orion-accordion-header.open .orion-accordion-arrow { transform: rotate(180deg); }
.orion-accordion-body {
border: 1px solid #e5e7eb; border-top: none;
border-radius: 0 0 6px 6px;
padding: 12px 14px;
}
.orion-accordion-part { margin-bottom: 8px; } .orion-form-layout-accordion .orion-form-part { display: block; } .orion-form-layout-blocks .orion-form-tabs { display: none; }
.orion-form-layout-blocks .orion-form-parts {
display: flex; flex-wrap: wrap; gap: 16px;
}
.orion-form-layout-blocks .orion-form-part {
display: flex; flex-direction: column;
flex: 1 1 180px; min-width: 140px;
background: #f8fafc; border: 1px solid #e5e7eb;
border-radius: 8px; padding: 12px;
} .orion-wizard-steps {
display: flex; align-items: center; gap: 0;
margin-bottom: 20px; overflow: hidden; border-radius: 8px;
border: 1px solid #e5e7eb;
}
.orion-wizard-step {
flex: 1; display: flex; align-items: center; gap: 8px;
padding: 10px 14px; background: #f8fafc;
border-right: 1px solid #e5e7eb; font-size: 12px; color: #6b7280;
transition: background .15s;
}
.orion-wizard-step:last-child { border-right: none; }
.orion-wizard-step.active { background: #111827; color: #fff; }
.orion-wizard-num {
width: 22px; height: 22px; border-radius: 50%;
background: currentColor; color: inherit;
display: flex; align-items: center; justify-content: center;
font-size: 11px; font-weight: 700; flex-shrink: 0;
}
.orion-wizard-step.active .orion-wizard-num { background: rgba(255,255,255,.25); }
.orion-wizard-step .orion-wizard-label { font-weight: 500; }
.orion-wizard-nav {
display: flex; justify-content: space-between;
margin-top: 14px; padding-top: 12px;
border-top: 1px solid #e5e7eb;
}
.orion-wizard-prev, .orion-wizard-next {
padding: 9px 18px; border-radius: 6px; font-size: 13px;
font-weight: 600; cursor: pointer; border: 1.5px solid #e5e7eb;
background: transparent; transition: all .15s;
}
.orion-wizard-prev:disabled { opacity: .4; cursor: default; }
.orion-wizard-prev:not(:disabled):hover { border-color: #111827; }
.orion-wizard-next {
background: #111827; color: #fff; border-color: #111827;
}
.orion-wizard-next:hover { background: #374151; }
.orion-wizard-next.finish { background: #16a34a; border-color: #16a34a; }  .orion-hud-part .orion-ctrl-field > .orion-ctrl-label {
display: block;
font-size: 9px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
color: rgba(255,255,255,.45);
margin: 0 0 4px;
}
.orion-hud-part > .orion-ctrl-field:first-child > .orion-ctrl-label { margin-top: 0; } .orion-hud-part .orion-pill {
font-size: 10px;
padding: 4px 9px;
border-radius: 12px;
} .orion-swatch[style*="display:none"] { display: none !important; } .orion-swatches .orion-swatch { transition: opacity .15s, transform .15s; } .orion-tpl-hud .orion-hud-part .orion-ctrl-field > .orion-ctrl-label {
color: var(--fg-faint);
}
.orion-hud-stack {
display: flex;
flex-direction: column;
flex: 0 0 auto;
background: var(--bg-hud);
position: relative;
} .orion-pack-step {
left: 0;
right: 0;
bottom: 0;
z-index: 6;
padding: 0px 16px 70px;
background: linear-gradient(to top, rgba(255,255,255,.96) 0%, rgba(255,255,255,.78) 45%, transparent 100%);
pointer-events: none;
margin-top: -62px;
}
.orion-pack-step-inner {
pointer-events: auto;
max-width: 920px;
margin: 0 auto;
text-align: center;
}
.orion-pack-maker-title {
font-family: var(--font-script);
font-style: normal;
font-weight: 400;
font-size: clamp(1.5rem, 6vw, 4rem);
line-height: 1;
margin: 0 0 18px;
color: var(--fg);
}
.orion-pack-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 30px;
margin-bottom: 18px;
}
.orion-pack-card {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-width: 140px;
max-width: 200px;
padding: 10px 10px;
border-radius: 18px;
border: 1.5px solid rgba(17,24,39,.12);
background: rgba(255,255,255,.92);
color: var(--fg);
text-decoration: none;
font-size: 13px;
font-weight: 700;
box-shadow: 0 2px 10px rgba(0,0,0,.06);
transition: border-color var(--trans), transform .15s, background var(--trans), box-shadow var(--trans);
cursor: pointer;
}
.orion-pack-card:hover {
border-color: rgba(17,24,39,.35);
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(0,0,0,.1);
}
.orion-pack-card.active {
border-color: rgba(120, 150, 90, 0.85);
background: rgba(210, 220, 185, 0.55);
box-shadow: 0 4px 18px rgba(120, 150, 90, 0.25);
}
.orion-pack-card-title { display: block; line-height: 1.25; }
.orion-pack-card-sub {
display: block;
margin-top: 6px;
font-size: 10px;
font-weight: 600;
letter-spacing: .06em;
text-transform: uppercase;
color: var(--fg-muted);
}
.orion-pack-continue {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 5px 20px;
border-radius: 999px;
border: 1.5px solid var(--fg);
background: transparent;
color: var(--fg);
font-size: 0.7em;
font-weight: 600;
text-decoration: none;
cursor: pointer;
transition: opacity var(--trans), transform .12s;
cursor: pointer;
text-transform: uppercase;
letter-spacing: 2px;
}
.orion-pack-continue:hover { opacity: 0.92; transform: translateY(-1px); }
.orion-pack-continue .bi { font-size: 1.25rem; line-height: 0; } .orion-parts-dual {
position: absolute;
inset: 0;
display: flex;
justify-content: space-around;
align-items: flex-start;
padding: 16px 6px 96px;
z-index: 4;
pointer-events: none;
bottom: 185px;
max-height: 800px;
top: auto;
bottom: 0%;
}
.orion-parts-col {
pointer-events: auto;
display: flex;
flex-direction: column;
gap: 2px;
max-width: 132px;
}
.orion-part-link {
display: block;
padding: 6px 8px;
border-radius: 8px;
font-size: 11px;
font-weight: 500;
color: var(--fg-muted);
text-decoration: none;
text-align: left;
line-height: 1.25;
transition: color var(--trans), background var(--trans);
cursor: pointer;
border: none;
background: rgba(255,255,255,.55);
backdrop-filter: blur(8px);
}
.orion-part-link:hover { color: var(--fg); background: rgba(255,255,255,.85); }
.orion-part-link.active {
color: var(--fg);
font-weight: 700;
text-decoration: underline;
text-underline-offset: 3px;
background: rgba(255,255,255,.9);
}
.orion-part-link-num { opacity: 0.55; margin-right: 4px; }
@media (max-width: 720px) {
.orion-parts-dual { display: none; }
} .orion-select-wrap {
display: flex;
flex-direction: column;
gap: 4px;
align-items: flex-start;
}
.orion-ctrl-select { max-width: min(380px, 92vw);
padding: 10px 38px 10px 16px;
border-radius: 999px;
border: 1.5px solid rgba(17,24,39,.12);
background-color: #fff;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 4.5L6 8l3-3.5'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 14px center;
font-family: var(--font);
font-size: 13px;
font-weight: 500;
color: var(--fg);
appearance: none;
cursor: pointer;
box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.orion-ctrl-select:focus {
outline: none;
border-color: rgba(17,24,39,.35);
box-shadow: var(--ring);
} .orion-wizard-bar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
flex-wrap: wrap;
padding: 12px 20px;
background: #2b2f36;
color: #f9fafb;
border-top: 1px solid rgba(255,255,255,.08);
}
.orion-wizard-back,
.orion-wizard-next {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 14px;
border-radius: 999px;
border: 1px solid rgba(255,255,255,.25);
color: #f9fafb;
font-size: 12px;
font-weight: 600;
text-decoration: none;
cursor: pointer;
background: transparent;
transition: background var(--trans), border-color var(--trans);
}
.orion-wizard-back:hover,
.orion-wizard-next:hover {
background: rgba(255,255,255,.08);
border-color: rgba(255,255,255,.4);
}
.orion-wizard-step-title {
flex: 1;
text-align: center;
font-size: 12px;
font-weight: 700;
letter-spacing: .04em;
text-transform: uppercase;
color: rgba(249,250,251,.85);
min-width: 120px;
}
.orion-wizard-track {
display: none;
align-items: center;
gap: 4px;
}
@media (min-width: 900px) {
.orion-wizard-track { display: flex; }
}
.orion-wizard-dot {
width: 34px;
height: 34px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255,255,255,.08);
color: rgba(255,255,255,.45);
transition: background var(--trans), color var(--trans), transform .15s;
}
.orion-wizard-dot .bi { font-size: 1rem; }
.orion-wizard-dot.active {
background: rgba(255,255,255,.95);
color: #1f2937;
transform: scale(1.06);
}
.orion-wizard-connector {
width: 18px;
height: 2px;
background: rgba(255,255,255,.2);
border-radius: 1px;
}
.orion-wizard-bar .orion-btn-wc {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 18px;
border-radius: 999px;
border: 1.5px solid rgba(255,255,255,.85) !important;
background: transparent !important;
color: #fff !important;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .04em;
}
.orion-wizard-bar .orion-btn-wc:hover {
background: rgba(255,255,255,.12) !important;
} .orion-vp-btn .bi,
.orion-nav-btn .bi,
.orion-menu-btn .bi,
.orion-overlay-close .bi {
font-size: 1.1rem;
line-height: 1;
}
.orion-btn .bi { font-size: 1rem; } .orion-tpl-hud .orion-hud-part.active { grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
align-items: start;
justify-content: start;
justify-items: stretch;
gap: 12px 14px;
flex-wrap: unset;
}
.orion-tpl-hud .orion-hud-part.active > .orion-ctrl-field {
display: flex;
flex-direction: column;
gap: 6px;
min-width: 0;
}
.orion-tpl-hud .orion-hud-part.active > .orion-ctrl-field .orion-ctrl-body {
min-width: 0;
width: 100%;
} .orion-tpl-hud .orion-hud-part.active > .orion-ctrl-field[data-ctrl-type="color"],
.orion-tpl-hud .orion-hud-part.active > .orion-ctrl-field[data-ctrl-type="image"],
.orion-tpl-hud .orion-hud-part.active > .orion-ctrl-field[data-ctrl-type="wc_attribute"],
.orion-tpl-hud .orion-hud-part.active > .orion-ctrl-field[data-ctrl-type="wc_global_attribute"],
.orion-tpl-hud .orion-hud-part.active > .orion-ctrl-field[data-ctrl-type="image_upload"] { }
.orion-tpl-hud .orion-hud-options { padding-top: 10px;
padding-bottom: 10px;
}  .orion-script {
font-family: var(--font-script);
font-weight: 400;
line-height: 1;
} .orion-inspiration-link {
position: absolute;
left: 24px;
bottom: 28px;
z-index: 7;
display: inline-flex;
align-items: center;
gap: 4px;
font-family: var(--font);
font-size: 14px;
font-weight: 700;
color: var(--fg);
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-thickness: 1.5px;
cursor: pointer;
transition: opacity var(--trans);
}
.orion-inspiration-link span { text-decoration: none; font-weight: 400; }
.orion-inspiration-link:hover { opacity: 0.6; }
@media (max-width: 720px) {
.orion-inspiration-link { left: 16px; bottom: 16px; font-size: 13px; }
} .orion-swatch, .orion-swatch-btn { width: 30px; height: 30px; }  .orion-wizard-bar { display: none !important; } @media (min-width: 861px) {
.orion-tpl-hud .orion-hud {
position: relative;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 8px;
padding: 14px 270px 16px; min-height: 262px;
margin-top: -50px;
}
.orion-tpl-hud .orion-hud-nav {
height: auto;
padding: 0;
justify-content: center;
gap: 10px;
}
.orion-tpl-hud .orion-hud-nav + .orion-hud-options,
.orion-tpl-hud .orion-hud-options + .orion-hud-right {
border-left: none;
}
.orion-tpl-hud .orion-hud-options {
flex: 0 1 auto;
width: auto;
height: auto;
flex-direction: column;
align-items: center;
padding: 0;
overflow: visible;
}
.orion-tpl-hud .orion-hud-right {
position: absolute;
right: 28px;
top: 50%;
transform: translateY(-50%);
width: 232px;
height: auto;
flex-direction: column;
align-items: stretch;
gap: 6px;
padding: 0;
}
} .orion-tpl-hud .orion-hud-part.active {
justify-content: center;
align-items: center;
gap: 10px 16px;
}
.orion-tpl-hud .orion-hud-options .orion-swatches { justify-content: center; } .orion-tpl-hud .orion-ctrl-field[data-ctrl-type="select"] {
flex-direction: row;
align-items: center;
gap: 8px;
}
.orion-tpl-hud .orion-ctrl-field[data-ctrl-type="select"] > .orion-ctrl-label {
margin: 0;
font-size: 12px;
font-weight: 400;
text-transform: none;
letter-spacing: 0;
color: var(--fg);
} .orion-pack-select {
appearance: none;
-webkit-appearance: none;
width: 100%;
padding: 9px 34px 9px 16px;
border-radius: 999px;
border: 1.5px solid rgba(120,150,90,.55);
background-color: rgba(200,214,170,.6);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23374151' d='M3 4.5L6 8l3-3.5'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 14px center;
font-family: var(--font);
font-size: 13px;
font-weight: 700;
color: var(--fg);
cursor: pointer;
}
.orion-pack-select:focus {
outline: none;
border-color: rgba(120,150,90,.9);
box-shadow: 0 0 0 3px rgba(120,150,90,.2);
}
.orion-price-wrap {
display: flex;
align-items: baseline;
gap: 6px;
}
.orion-price-wrap:has(.orion-price-display:empty) { display: none; }
.orion-price-label {
font-size: 13px;
font-weight: 400;
color: var(--fg-muted);
}
.orion-tpl-hud .orion-price-total { font-size: 16px; }
.orion-tpl-hud .orion-hud-actions {
flex-direction: column;
gap: 6px;
width: 100%;
}
.orion-tpl-hud .orion-hud-actions .orion-btn {
justify-content: center;
width: 100%;
padding: 9px 16px;
border-radius: 999px;
font-size: 11px;
letter-spacing: .06em;
text-transform: uppercase;
}
.orion-tpl-hud .orion-btn-basket {
background: transparent !important;
color: var(--fg) !important;
border: 1.5px solid var(--fg) !important;
}
.orion-tpl-hud .orion-btn-basket:hover { background: rgba(0,0,0,.05) !important; } .orion-pack-card,
.orion-pack-card:hover,
.orion-pack-card.active {
min-width: 0;
max-width: none;
padding: 0;
border: none;
background: transparent;
box-shadow: none;
transform: none;
gap: 8px;
}
.orion-pack-card-title {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 5px 20px;
border-radius: 999px;
border: 1.5px solid rgba(17,24,39,.22);
background: rgba(255,255,255,.9);
font-size: 1.1em;
font-weight: 700;
color: var(--fg);
transition: border-color var(--trans), background var(--trans), box-shadow var(--trans), transform .15s;
min-width: 200px;
}
.orion-pack-card:hover .orion-pack-card-title {
transform: translateY(-2px);
box-shadow: 0 6px 18px rgba(0,0,0,.1);
}
.orion-pack-card.active .orion-pack-card-title {
border-color: rgba(120,150,90,.85);
background: linear-gradient(180deg, rgba(150,178,110,.55), rgba(120,150,90,.45));
box-shadow: 0 4px 16px rgba(120,150,90,.28);
}
.orion-pack-card-sub { margin-top: 0; color: var(--fg-muted); } .orion-tpl-hud .orion-parts-dual:after {content: ''!important;position:absolute;width:100%;height: 600px;background-color: #efefef;bottom: 0;z-index: -8;top: 0;bottom: 0px;height: auto;}
.orion-tpl-hud .orion-parts-dual {
background: transparent; padding: 74px clamp(23px, 10%, 262px) 10%;
z-index: auto;
}
.orion-tpl-hud .orion-parts-col {max-width: 200px;gap: 3px;z-index: 100;}
.orion-tpl-hud .orion-part-link {
background: transparent;
backdrop-filter: none;
-webkit-backdrop-filter: none;
font-size: 13px;
padding: 7px 4px;
}
.orion-tpl-hud .orion-part-link:hover,
.orion-tpl-hud .orion-part-link.active {
background: transparent;
color: var(--fg);
} @media (max-width: 860px) { .orion-tpl-hud .orion-viewport { min-height: 54vh; } .orion-pack-step { padding: 0 14px 22px; margin-top: -40px; }
.orion-pack-maker-title { font-size: clamp(2.2rem, 13vw, 3rem); margin: 0 0 12px; }
.orion-pack-grid { gap: 8px 10px; }
.orion-pack-card-title { min-width: 0; padding: 8px 18px; font-size: 1em; }
.orion-pack-continue { padding: 12px 24px; } .orion-tpl-hud .orion-hud {
flex-direction: column;
align-items: stretch;
gap: 14px;
min-height: auto;
margin-top: 0;
padding: 16px 16px 22px;
background: #fff;
}
.orion-tpl-hud .orion-hud-nav,
.orion-tpl-hud .orion-hud-options,
.orion-tpl-hud .orion-hud-right {
width: 100%;
height: auto;
padding: 0;
border: none !important;
} .orion-tpl-hud .orion-hud-nav { justify-content: center; gap: 12px; }
.orion-tpl-hud .orion-nav-btn { width: 38px; height: 38px; }
.orion-tpl-hud .orion-menu-btn { width: 38px; height: 38px; }
.orion-tpl-hud .orion-part-name { max-width: 56vw; font-size: 14px; } .orion-tpl-hud .orion-hud-options {justify-content: center;}
.orion-tpl-hud .orion-hud-part.active {
flex-direction: column;
align-items: stretch;
gap: 18px;
}
.orion-tpl-hud .orion-hud-part.active > .orion-ctrl-field {
width: 100%;
align-items: center;
text-align: center;
}
.orion-tpl-hud .orion-hud-part.active > .orion-ctrl-field[data-ctrl-type="select"] { justify-content: center; }
.orion-tpl-hud .orion-ctrl-field .orion-ctrl-body { display: flex; justify-content: center; flex-wrap: wrap; width: 100%; }
.orion-tpl-hud .orion-hud-options .orion-swatches { justify-content: center; }
.orion-tpl-hud .orion-swatch,
.orion-tpl-hud .orion-swatch-btn { width: 34px; height: 34px; }
.orion-tpl-hud .orion-ctrl-select,
.orion-tpl-hud .orion-pack-select { font-size: 14px; padding: 12px 40px 12px 16px; } .orion-tpl-hud .orion-hud-right {
flex-direction: column;
align-items: stretch;
gap: 10px;
margin-top: 2px;
padding-top: 14px;
border-top: 1px solid var(--border) !important;
}
.orion-tpl-hud .orion-price-wrap { justify-content: center; }
.orion-tpl-hud .orion-price-total { font-size: 18px; }
.orion-tpl-hud .orion-hud-actions { flex-direction: column; gap: 8px; width: 100%; }
.orion-tpl-hud .orion-hud-actions .orion-btn {
width: 100%;
justify-content: center;
padding: 14px 16px;
border-radius: 999px;
font-size: 12px;
letter-spacing: .06em;
text-transform: uppercase;
} .orion-tpl-hud .orion-inspiration-link {
position: static;
left: auto;
bottom: auto;
display: flex;
justify-content: center;
margin: 6px auto 0;
font-size: 13px;
}
}
@media (max-width: 420px) {
.orion-tpl-hud .orion-viewport { min-height: 48vh; }
.orion-pack-maker-title { font-size: clamp(2rem, 14vw, 2.6rem); }
.orion-tpl-hud .orion-part-name { max-width: 48vw; }
}
@media (max-width:860px){#orion-designer.orion-tpl-hud{display:flex;flex-direction:column;justify-content: center; gap: 10px;}.orion-tpl-hud .orion-viewport{min-height:0!important;height: 66vh!important;flex: 0 0 62vh;}.orion-tpl-hud .orion-hud{padding:8px 14px 12px;gap:8px;margin-top:0;}.orion-tpl-hud .orion-hud-part.active{flex-direction:column;align-items: stretch;gap: 10px;}.orion-tpl-hud .orion-hud-part.active>.orion-ctrl-field{width:100%;align-items:center;text-align:center;}.orion-tpl-hud .orion-ctrl-field .orion-ctrl-body{display:flex;justify-content:center;flex-wrap:wrap;width:100%;}.orion-tpl-hud .orion-swatch,.orion-tpl-hud .orion-swatch-btn{width:27px;height:27px;}.orion-tpl-hud .orion-ctrl-select,.orion-tpl-hud .orion-pack-select{padding:9px 32px 9px 14px;font-size:13px;}.orion-tpl-hud .orion-hud-nav{gap:10px;justify-content:center;}.orion-tpl-hud .orion-hud-right{gap:8px;padding-top:8px;border-top:1px solid var(--border)!important;}.orion-tpl-hud .orion-hud-actions{flex-direction:row;gap:8px;width:100%;}.orion-tpl-hud .orion-hud-actions .orion-btn{flex:1;padding:11px 10px;font-size:11px;}.orion-tpl-hud .orion-ctrl-field .orion-ctrl-label{font-size:11px;margin:0 0 2px;}} .orion-upload-btn.has-image {
padding: 6px 10px;
border-style: solid;
border-color: rgba(120,150,90,.7);
background: rgba(200,214,170,.25);
}
.orion-upload-preview {
display: inline-flex;
align-items: center;
gap: 8px;
min-width: 0;
}
.orion-upload-preview img {
width: 32px;
height: 32px;
object-fit: cover;
border-radius: 6px;
border: 1px solid var(--border);
flex-shrink: 0;
}
.orion-upload-preview .orion-upload-name {
font-size: 12px;
font-weight: 600;
max-width: 130px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.orion-upload-preview .orion-upload-change {
font-size: 11px;
color: var(--accent2);
text-decoration: underline;
text-underline-offset: 2px;
flex-shrink: 0;
} .orion-upload-preview { position: relative; padding-right: 22px; }
.orion-upload-remove {
position: absolute; top: -6px; right: -6px;
width: 20px; height: 20px; border-radius: 50%;
border: none; background: #ef4444; color: #fff;
font-size: 11px; line-height: 1; cursor: pointer;
display: flex; align-items: center; justify-content: center;
box-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.orion-upload-remove:hover { background: #dc2626; }