.store-page { background:radial-gradient(circle at 80% 6%,rgba(255,174,65,.13),transparent 32%),var(--bg); }
.cart-nav { display:inline-flex !important; align-items:center; gap:7px; }
.cart-nav b { min-width:20px; height:20px; padding:0 6px; display:grid; place-items:center; border-radius:99px; background:var(--accent); color:#121212; font-size:9px; }
.product-backbar { padding-top:96px; padding-bottom:0; }
.product-backbar a { color:#9099a1; font-size:11px; font-weight:800; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; }
.product-backbar a:hover { color:var(--accent2); }
.product-backbar + .store-hero { padding-top:42px; }

.store-catalog-page { background:radial-gradient(circle at 82% 4%,rgba(255,152,43,.11),transparent 30%),var(--bg); }
.catalog-hero { min-height:520px; padding-top:104px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:88px; align-items:center; }
.catalog-hero h1 { max-width:860px; margin:16px 0 22px; font-size:clamp(52px,6vw,86px); line-height:.96; letter-spacing:-.055em; }
.catalog-hero h1 span { color:var(--accent2); }
.catalog-hero > div > p { max-width:650px; margin:0; color:#aab2b9; font-size:18px; }
.catalog-hero-aside { padding:8px 0 8px 28px; border-left:2px solid var(--accent); }
.catalog-hero-aside > span { color:#aab3bb; font-size:10px; font-weight:800; letter-spacing:.04em; }
.catalog-hero-aside strong { margin:28px 0 10px; display:block; color:#e4e8eb; font-family:var(--display); font-size:26px; line-height:1.08; }
.catalog-hero-aside p { margin:0; color:#7f8992; font-size:12px; }
.catalog-products { padding-top:54px; }
.catalog-heading { margin-bottom:28px; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.catalog-heading h2 { margin-bottom:0; }
.admin-product-button { flex:0 0 auto; text-decoration:none; }
.store-admin-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.product-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; }
.catalog-card { grid-column:span 4; min-width:0; overflow:hidden; border:1px solid #30373e; border-radius:var(--radius-sm); background:linear-gradient(150deg,#171c20,#0f1215); color:inherit; text-decoration:none; transition:transform .18s ease,border-color .18s ease; }
.catalog-card.featured-product { grid-column:span 8; }
.catalog-card:hover { transform:translateY(-3px); border-color:rgba(255,122,26,.48); }
.catalog-card-image { aspect-ratio:4 / 3; position:relative; overflow:hidden; background:#0a0c0e; }
.featured-product .catalog-card-image { aspect-ratio:16 / 9; }
.catalog-card-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .3s ease; }
.catalog-card:hover .catalog-card-image img { transform:scale(1.025); }
.catalog-card-copy { padding:20px; }
.catalog-card-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#7d8790; font-size:9px; font-weight:780; letter-spacing:.035em; }
.catalog-card-meta b { color:var(--accent2); font-size:11px; letter-spacing:.04em; }
.catalog-card h3 { margin:22px 0 8px; color:#e8ebed; font-size:23px; line-height:1.1; text-wrap:balance; }
.catalog-card p { min-height:54px; margin:0; color:#87919a; font-size:11px; }
.catalog-card-link { margin-top:22px; display:flex; align-items:center; justify-content:space-between; color:#c9cfd4; font-size:11px; letter-spacing:.015em; }
.catalog-card-link span { color:var(--accent); font-size:18px; }
.catalog-loading { min-height:410px; display:block; color:#68727b; }
.catalog-skeleton-image { width:100%; aspect-ratio:4 / 3; background:#1a1f23; animation:store-skeleton 1.35s ease-in-out infinite alternate; }
.catalog-skeleton-copy { padding:24px 20px; }
.catalog-skeleton-copy i { display:block; height:10px; margin-bottom:14px; border-radius:2px; background:#22282d; animation:store-skeleton 1.35s ease-in-out infinite alternate; }
.catalog-skeleton-copy i:nth-child(1) { width:38%; }
.catalog-skeleton-copy i:nth-child(2) { width:82%; height:18px; }
.catalog-skeleton-copy i:nth-child(3) { width:64%; }
.catalog-loading:hover { transform:none; border-color:#30373e; }
.catalog-empty { margin-top:16px; padding:28px; border-left:2px solid #46505a; background:#101418; color:#74808a; }
.catalog-empty span { color:#aeb6bd; font-family:var(--display); font-size:18px; font-weight:700; }
.catalog-empty p { margin:7px 0 0; font-size:12px; }
.catalog-empty button { margin-top:18px; }
.catalog-promise { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; }
.catalog-promise { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.catalog-promise article { min-height:150px; padding:26px 30px; }
.catalog-promise article + article { border-left:1px solid var(--line); }
.catalog-promise span { width:28px; height:28px; display:grid; place-items:center; border:1px solid #3b444c; color:var(--accent); font-size:14px; }
.catalog-promise h3 { margin:20px 0 7px; font-size:18px; }
.catalog-promise p { margin:0; color:#7d8790; font-size:11px; }
@keyframes store-skeleton { to { background:#2a3035; } }
.store-hero { min-height:700px; display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; padding-top:86px; }
.store-hero-copy { position:relative; z-index:1; }
.store-hero h1 { font-size:clamp(54px,6.5vw,88px); }
.store-hero-copy > p { max-width:560px; margin:0 0 30px; color:#b3bac1; font-size:18px; }
.new-product-pill { display:inline-flex; margin:0 0 24px; padding:6px 9px; border:1px solid rgba(255,122,26,.45); border-radius:99px; background:rgba(255,122,26,.08); color:var(--accent2); font-size:9px; font-weight:900; letter-spacing:.14em; }
.store-product-shot { position:relative; margin:0; overflow:hidden; border:1px solid #353c43; border-radius:18px; background:#101316; box-shadow:0 30px 80px rgba(0,0,0,.4); }
.store-product-shot::before { content:""; position:absolute; inset:auto 15% -18% 15%; height:44%; background:rgba(255,170,64,.18); filter:blur(55px); }
.store-product-shot img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.store-product-shot figcaption { position:absolute; inset:auto 0 0; padding:22px 24px; display:flex; align-items:end; justify-content:space-between; gap:20px; background:linear-gradient(transparent,rgba(8,9,10,.92)); }
.store-product-shot figcaption span { color:var(--accent2); font-size:9px; font-weight:900; letter-spacing:.16em; }
.store-product-shot figcaption strong { font-size:13px; }

.store-configure { padding-top:54px; }
.configurator-shell { display:grid; grid-template-columns:minmax(0,1fr) 430px; gap:18px; align-items:start; }
.product-preview-card,.store-order-card { border:1px solid var(--line); border-radius:15px; background:var(--panel); }
.product-preview-card { padding:22px; }
.preview-stage { min-height:510px; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; border:1px solid #282f36; border-radius:11px; background:radial-gradient(circle at 50% 62%,rgba(255,164,57,.16),transparent 30%),linear-gradient(145deg,#11161a,#080a0c); transition:background .24s ease; }
.preview-stage::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 75%,transparent); }
.acrylic-preview { width:min(64%,350px); aspect-ratio:.78; position:relative; z-index:1; display:flex; align-items:center; justify-content:center; overflow:hidden; border:2px solid rgba(255,211,141,.52); border-radius:48% 48% 8% 8% / 23% 23% 5% 5%; background:linear-gradient(125deg,rgba(255,255,255,.08),rgba(255,255,255,.012) 48%,rgba(255,191,92,.08)); box-shadow:inset 0 0 32px rgba(255,193,95,.09),0 0 24px rgba(255,159,45,.13); transition:border-color .24s ease,background .24s ease,box-shadow .24s ease; }
.acrylic-preview > em { position:absolute; color:rgba(255,224,180,.48); font-size:10px; font-style:normal; font-weight:900; letter-spacing:.15em; }
.acrylic-preview.has-image > em { display:none; }
.artwork-frame { display:none; width:80%; aspect-ratio:720 / 760; position:absolute; top:11%; }
.acrylic-preview.has-image .artwork-frame { display:block; }
.artwork-frame canvas { display:block; width:100%; height:100%; border:1px dashed transparent; outline:none; cursor:grab; touch-action:none; }
.artwork-frame:hover canvas,.artwork-frame:focus-within canvas { border-color:rgba(255,205,135,.4); }
.artwork-frame canvas.dragging { cursor:grabbing; }
.artwork-frame canvas.picking-background { cursor:crosshair; border-color:var(--accent); }
.artwork-resize-handle { width:13px; height:13px; position:absolute; z-index:3; padding:0; border:2px solid #17191b; border-radius:3px; background:var(--accent2); box-shadow:0 0 0 1px rgba(255,210,150,.55),0 0 10px rgba(255,143,36,.35); cursor:nwse-resize; opacity:.72; touch-action:none; }
.artwork-frame:hover .artwork-resize-handle,.artwork-frame:focus-within .artwork-resize-handle { opacity:1; }
.artwork-resize-handle.top-left { left:-6px; top:-6px; }
.artwork-resize-handle.top-right { right:-6px; top:-6px; cursor:nesw-resize; }
.artwork-resize-handle.bottom-left { left:-6px; bottom:-6px; cursor:nesw-resize; }
.artwork-resize-handle.bottom-right { right:-6px; bottom:-6px; }
.preview-inscription { position:absolute; left:10%; right:10%; bottom:8%; padding:4px 6px; overflow:hidden; border:1px dashed transparent; border-radius:5px; background:transparent; color:rgba(255,227,181,.86); cursor:text; text-align:center; text-overflow:ellipsis; white-space:nowrap; font-size:clamp(11px,1.8vw,19px); font-weight:900; letter-spacing:.04em; text-shadow:0 0 10px rgba(255,159,42,.65); }
.preview-inscription:hover,.preview-inscription:focus-visible,.preview-inscription.selected { border-color:rgba(255,205,135,.48); background:rgba(255,170,60,.05); outline:none; }
.preview-inscription.removed { display:none; }
.preview-base { width:min(58%,318px); height:76px; position:relative; z-index:2; margin-top:-8px; border-radius:12px 12px 36px 36px / 10px 10px 22px 22px; background:linear-gradient(180deg,#323638,#0d0f10 35%,#050607); box-shadow:0 24px 32px rgba(0,0,0,.6),0 -3px 18px rgba(255,173,62,.28); transition:background .24s ease,box-shadow .24s ease,opacity .2s ease; }
.preview-base i { position:absolute; inset:3px 13% auto; height:8px; border-radius:50%; background:#ffad45; box-shadow:0 0 18px rgba(255,155,38,.78); transition:opacity .2s ease,background .2s ease,box-shadow .2s ease; }
.preview-stage[data-base="none"] .preview-base { display:none; }
.preview-stage[data-base="wooden"] .preview-base { background:linear-gradient(8deg,rgba(63,32,13,.45),transparent 34%),repeating-linear-gradient(94deg,rgba(255,255,255,.04) 0 2px,rgba(75,38,15,.07) 2px 7px),linear-gradient(180deg,#a96b37,#73401f 42%,#3f2111); box-shadow:0 24px 32px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,231,190,.2),0 -3px 18px rgba(255,173,62,.28); }
.preview-stage.led-off { background:linear-gradient(145deg,#11161a,#080a0c); }
.preview-stage.led-off .acrylic-preview { border-color:rgba(214,225,230,.42); background:linear-gradient(125deg,rgba(255,255,255,.065),rgba(255,255,255,.008) 52%,rgba(180,198,205,.04)); box-shadow:inset 0 0 22px rgba(190,210,220,.04); }
.preview-stage.led-off .preview-base { box-shadow:0 24px 32px rgba(0,0,0,.58); }
.preview-stage.led-off .preview-base i { opacity:.3; background:#798087; box-shadow:none; }
.preview-stage.led-off .preview-inscription { color:rgba(220,225,228,.68); text-shadow:none; }
.store-dropzone { min-height:112px; margin-top:14px; padding:18px; display:grid; grid-template-columns:46px 1fr; align-items:center; border:1px dashed #46505a; border-radius:10px; cursor:pointer; transition:.18s ease; }
.store-dropzone:hover,.store-dropzone.dragging { border-color:var(--accent); background:rgba(255,122,26,.035); }
.store-dropzone input { position:absolute; opacity:0; pointer-events:none; }
.store-dropzone .upload-icon { grid-row:1 / 3; margin:0 14px 0 0; }
.store-dropzone strong,.store-dropzone small { grid-column:2; }
.store-dropzone small { color:var(--muted); }
.artwork-editor { margin-top:14px; padding:16px; border:1px solid #303840; border-radius:10px; background:#0f1316; }
.editor-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.editor-heading > div { display:flex; flex-direction:column; }
.editor-heading span { color:var(--accent); font-size:8px; font-weight:900; letter-spacing:.15em; }
.editor-heading strong { margin-top:3px; font-size:13px; }
.editor-heading > output { padding:5px 8px; border:1px solid rgba(255,122,26,.35); border-radius:99px; color:var(--accent2); font-size:9px; white-space:nowrap; }
.artwork-editor > p { margin:10px 0 15px; color:#87919a; font-size:10px; }
.people-photo-assist { margin:0 0 15px; padding:13px; display:flex; align-items:center; justify-content:space-between; gap:14px; border:1px solid rgba(255,122,26,.34); border-radius:8px; background:linear-gradient(120deg,rgba(255,122,26,.07),#11161a); }
.people-photo-assist > div { min-width:0; display:flex; flex-direction:column; }
.people-photo-assist span { color:var(--accent); font-size:8px; font-weight:900; letter-spacing:.14em; }
.people-photo-assist strong { margin-top:3px; font-size:11px; }
.people-photo-assist small { margin-top:3px; color:#77828b; font-size:8px; line-height:1.4; }
.people-photo-assist .small-button { flex:0 0 auto; color:var(--accent2); }
.people-photo-assist .small-button.selected { border-color:#77d69a; background:rgba(86,201,128,.1); color:#9ae5b5; }
.people-photo-assist.detected { border-color:rgba(86,201,128,.48); background:linear-gradient(120deg,rgba(86,201,128,.07),#11161a); }
.people-photo-assist.detected span { color:#77d69a; }
.editor-control-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; }
.editor-control-grid label { min-width:0; display:grid; gap:5px; color:#aeb5bc; font-size:9px; font-weight:800; letter-spacing:.04em; }
.editor-control-grid label > span { display:flex; justify-content:space-between; gap:8px; }
.editor-control-grid output { color:var(--accent2); }
.editor-control-grid input[type="range"] { width:100%; height:4px; accent-color:var(--accent); cursor:pointer; }
.editor-control-grid .editor-select { grid-column:1 / -1; }
.editor-control-grid select { width:100%; padding:10px 11px; border:1px solid #343c44; border-radius:7px; background:#11161a; color:#e1e5e8; font-size:11px; }
.engraving-map-note { grid-column:1 / -1; margin:-2px 0 1px; padding:8px 10px; border-left:2px solid var(--accent); background:rgba(255,122,26,.065); color:#aeb6bd; font-size:9px; line-height:1.45; }
.editor-range-control { min-width:0; display:grid; gap:6px; color:#aeb5bc; font-size:9px; font-weight:800; letter-spacing:.04em; }
.editor-range-control > div { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:7px; }
.editor-range-control output { min-width:34px; color:var(--accent2); text-align:right; }
.editor-range-control button { padding:1px 4px; border:0; background:transparent; color:#717c85; cursor:pointer; font:inherit; font-size:7px; text-transform:uppercase; text-decoration:underline; }
.editor-range-control button:hover,.editor-range-control button:focus-visible { color:#fff; }
.editor-range-control input[type="range"] { width:100%; height:4px; accent-color:var(--accent); cursor:pointer; }
.background-editor { margin-top:14px; padding:12px; display:grid; grid-template-columns:1fr auto; gap:10px 12px; border:1px solid #2f373f; border-radius:8px; background:#12171b; }
.background-toggle { display:flex; align-items:center; gap:9px; cursor:pointer; }
.background-toggle input { width:16px; height:16px; accent-color:var(--accent); }
.background-toggle span { display:flex; flex-direction:column; }
.background-toggle strong { font-size:10px; }
.background-toggle small { color:#717b84; font-size:8px; }
.background-picker-row { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.background-picker-row .small-button { padding:7px 9px; font-size:9px; }
.background-picker-row .small-button.selected { border-color:var(--accent); color:var(--accent2); }
.background-picker-row i { width:24px; height:24px; flex:0 0 auto; border:2px solid #555e67; border-radius:50%; background:#fff; box-shadow:0 0 0 2px #101417; }
.background-strength { grid-column:1 / -1; }
.background-strength output { color:var(--accent2); }
.background-strength input { width:100%; height:4px; accent-color:var(--accent); }
.editor-actions { margin-top:14px; display:flex; flex-wrap:wrap; gap:7px; }
.editor-actions .small-button { color:#aeb6bd; }
.editor-actions .small-button.selected { border-color:rgba(255,122,26,.6); background:rgba(255,122,26,.08); color:var(--accent2); }
.editor-actions .reset-all-button { margin-left:auto; border-color:rgba(255,122,26,.45); color:var(--accent2); }
.engraving-key { margin-top:14px; display:grid; grid-template-columns:auto 1fr auto; gap:9px; align-items:center; color:#69747d; font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.engraving-key span { display:flex; align-items:center; gap:5px; }
.engraving-key span:last-child { flex-direction:row-reverse; }
.engraving-key i { width:8px; height:8px; border-radius:50%; border:1px solid #555f67; background:#fff; }
.engraving-key span:last-child i { background:#171717; }
.engraving-key b { height:5px; border-radius:99px; background:linear-gradient(90deg,#fff,#a6a6a6,#171717); }
.inscription-editor { margin-top:14px; display:grid; grid-template-columns:1fr auto; gap:8px; align-items:end; }
.personalization-field { display:grid; gap:7px; color:#9ea7af; font-size:11px; font-weight:750; }
.personalization-field input,.destination-select select { width:100%; padding:12px 13px; border:1px solid #363e46; border-radius:8px; outline:none; background:#0f1215; color:var(--text); }
.personalization-field input:focus,.destination-select select:focus { border-color:var(--accent); }
.inscription-remove { min-height:43px; color:#9fa8b0; }
.inscription-add { width:100%; margin-top:14px; color:var(--accent2); }

.store-order-card { position:sticky; top:90px; padding:20px; }
.store-order-card fieldset { min-width:0; margin:0 0 22px; padding:0; border:0; }
.store-order-card legend { width:100%; margin:0 0 9px; display:flex; align-items:center; gap:9px; color:#dfe3e6; font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.09em; }
.store-order-card legend span { width:23px; height:23px; display:grid; place-items:center; border:1px solid rgba(255,122,26,.42); border-radius:50%; color:var(--accent); font-size:9px; }
.choice-row { min-height:68px; padding:11px 12px; display:grid; grid-template-columns:20px 1fr auto; gap:10px; align-items:center; border:1px solid #2c333a; background:#111519; cursor:pointer; }
.choice-row + .choice-row { border-top:0; }
.choice-row:first-of-type { border-radius:9px 9px 0 0; }
.choice-row:last-of-type { border-radius:0 0 9px 9px; }
.choice-row:has(input:checked) { border-color:rgba(255,122,26,.55); background:rgba(255,122,26,.055); box-shadow:inset 3px 0 var(--accent); }
.choice-row input { width:16px; height:16px; accent-color:var(--accent); }
.choice-row span { display:flex; flex-direction:column; }
.choice-row strong { font-size:12px; }
.choice-row small { margin-top:2px; color:#717c85; font-size:10px; }
.choice-row b { color:#dfe3e6; font-size:12px; }
.destination-select { display:grid; gap:7px; color:#8e98a1; font-size:10px; }
.store-breakdown { margin:4px 0 16px; padding:15px; display:grid; gap:8px; border:1px solid #2d343b; border-radius:9px; background:#0f1215; }
.store-breakdown > div { display:flex; justify-content:space-between; gap:12px; color:#929ca5; font-size:11px; }
.store-breakdown b { color:#d6dbe0; }
.store-breakdown .store-total { margin-top:6px; padding-top:12px; align-items:end; border-top:1px solid #30373e; color:#f0f2f4; font-size:13px; }
.store-total strong { color:var(--accent2); font-size:27px; line-height:1; }
.store-order-card .full { width:100%; }
.store-minimum-note { margin:0 0 12px; padding:10px 12px; border:1px solid rgba(242,198,109,.3); border-radius:8px; background:rgba(242,198,109,.06); color:#d7bc83; font-size:10px; }
.checkout-note { margin:9px 0 0; color:#69737d; text-align:center; font-size:9px; }

.store-steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.store-steps article { min-height:210px; padding:25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.store-steps article > span { color:var(--accent); font-size:11px; font-weight:900; letter-spacing:.15em; }
.store-steps h3 { margin:34px 0 8px; font-size:19px; }
.store-steps p { margin:0; color:var(--muted); font-size:12px; }
.store-specs { margin-top:14px; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.store-specs div { padding:16px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:8px; background:#101418; }
.store-specs span { color:#6f7a84; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.store-specs strong { margin-top:5px; color:#cbd1d6; font-size:11px; }
.store-rights-note { margin:14px 0 0; padding:13px 15px; border-left:2px solid var(--accent); background:rgba(255,122,26,.035); color:#818b95; font-size:10px; }
.store-rights-note strong { color:#c5cbd0; }
.coming-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.coming-grid article { min-height:170px; padding:22px; border:1px solid var(--line); border-radius:11px; background:linear-gradient(145deg,#15191d,#101316); }
.coming-grid span { color:#66717b; font-size:8px; font-weight:900; letter-spacing:.16em; }
.coming-grid h3 { margin:32px 0 7px; font-size:17px; }
.coming-grid p { margin:0; color:#7f8993; font-size:11px; }

@media (max-width:900px) {
  .store-hero,.configurator-shell { grid-template-columns:1fr; }
  .catalog-hero { grid-template-columns:1fr; gap:32px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-card { grid-column:auto; }
  .catalog-card.featured-product { grid-column:span 2; }
  .store-hero { padding-top:65px; }
  .store-product-shot { max-width:660px; }
  .store-order-card { position:static; }
  .store-specs { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .catalog-hero { min-height:0; padding-top:96px; }
  .catalog-hero h1 { font-size:48px; }
  .catalog-heading { align-items:start; flex-direction:column; }
  .product-grid,.catalog-promise { grid-template-columns:1fr; }
  .catalog-card.featured-product { grid-column:auto; }
  .catalog-promise article + article { border-left:0; border-top:1px solid var(--line); }
  .product-backbar { padding-top:82px; }
  .store-hero { gap:42px; }
  .store-hero h1 { font-size:52px; }
  .store-hero-copy > p { font-size:16px; }
  .store-product-shot figcaption { padding:16px; }
  .store-product-shot figcaption strong { font-size:11px; }
  .product-preview-card,.store-order-card { padding:13px; }
  .preview-stage { min-height:400px; }
  .acrylic-preview { width:76%; }
  .preview-base { width:68%; }
  .editor-control-grid { grid-template-columns:1fr; }
  .editor-control-grid .editor-select { grid-column:auto; }
  .people-photo-assist { align-items:stretch; flex-direction:column; }
  .people-photo-assist .small-button { width:100%; }
  .background-editor { grid-template-columns:1fr; }
  .background-strength { grid-column:auto; }
  .background-picker-row { justify-content:flex-start; }
  .editor-actions .reset-all-button { width:100%; margin-left:0; }
  .inscription-editor { grid-template-columns:1fr; }
  .artwork-resize-handle { width:17px; height:17px; }
  .store-steps,.coming-grid { grid-template-columns:1fr; }
  .store-specs { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .store-dropzone,.choice-row { transition:none; }
}

/* Wooden keychain product draft */
.draft-banner { margin:0 0 22px; padding:13px 14px; border:1px solid rgba(255,122,26,.36); border-radius:9px; background:linear-gradient(120deg,rgba(255,122,26,.09),rgba(255,122,26,.02)); }
.draft-banner span { color:var(--accent); font-size:9px; font-weight:900; letter-spacing:.14em; }
.draft-banner p { margin:5px 0 0; color:#8d969e; font-size:10px; line-height:1.45; }
.keychain-preview-stage { min-height:650px; position:relative; display:grid; place-items:center; overflow:hidden; border:1px solid #252c32; border-radius:11px; background:radial-gradient(circle at 50% 42%,rgba(255,137,39,.12),transparent 35%),linear-gradient(145deg,#151a1e,#080b0d); }
.keychain-preview-stage::before { content:""; position:absolute; inset:0; opacity:.55; background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px); background-size:32px 32px; }
.keyring { width:130px; aspect-ratio:1; position:absolute; z-index:1; top:76px; left:50%; border:15px solid #aeb4b6; border-radius:50%; background:#101418; box-shadow:inset 0 0 0 3px #5f6669,0 18px 28px rgba(0,0,0,.55); transform:translateX(-50%); }
.keychain-blank { width:280px; height:390px; position:relative; z-index:2; display:grid; place-items:center; border:3px solid #5f351b; border-radius:52px; background:repeating-linear-gradient(92deg,rgba(80,39,13,.07) 0 2px,transparent 2px 12px),linear-gradient(135deg,#e9c38a,#bc7f43); box-shadow:inset 0 0 25px rgba(92,42,10,.22),0 28px 50px rgba(0,0,0,.48); transition:.25s ease; }
.keychain-preview-stage[data-shape="round"] .keychain-blank { width:330px; height:330px; border-radius:50%; }
.keychain-preview-stage[data-shape="hex"] .keychain-blank { width:330px; height:355px; border-radius:0; clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%); }
.keychain-preview-stage[data-wood="walnut"] .keychain-blank { border-color:#251107; background:repeating-linear-gradient(96deg,rgba(255,218,164,.055) 0 2px,transparent 2px 11px),linear-gradient(135deg,#88532f,#3f2113); }
.keychain-hole { width:28px; height:28px; position:absolute; top:24px; left:50%; border:3px solid rgba(70,31,10,.7); border-radius:50%; background:#101418; transform:translateX(-50%); box-shadow:inset 0 2px 5px #000; }
.keychain-engraving { max-width:78%; display:flex; flex-direction:column; align-items:center; gap:15px; color:rgba(55,25,9,.86); text-align:center; }
.keychain-preview-stage[data-wood="walnut"] .keychain-engraving { color:rgba(25,10,4,.92); text-shadow:0 1px rgba(232,185,128,.12); }
.keychain-engraving span { font-size:84px; line-height:.8; }
.keychain-engraving strong { max-width:100%; overflow:hidden; font-size:25px; letter-spacing:.08em; text-overflow:ellipsis; white-space:nowrap; }
.keychain-scale { position:absolute; z-index:3; right:25px; bottom:24px; left:25px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; color:#9ca5ad; font-size:10px; }
.keychain-scale i { height:1px; background:#556069; }
.keychain-preview-stage.without-ring .keyring { opacity:.12; }
.keychain-preview-notes { padding:13px 3px 0; display:flex; flex-wrap:wrap; gap:16px; color:#717c85; font-size:9px; }
.keychain-preview-notes span { display:flex; align-items:center; gap:6px; }
.keychain-preview-notes i { width:17px; height:2px; background:#81502e; }
.keychain-preview-notes span:nth-child(2) i { height:6px; background:repeating-linear-gradient(90deg,#4b2a16 0 2px,transparent 2px 4px); }
.keychain-preview-notes b { margin-left:auto; font-weight:500; }
.keychain-option-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.keychain-option-grid label { min-width:0; padding:12px 6px 10px; display:grid; place-items:center; gap:7px; border:1px solid #303840; border-radius:8px; background:#111519; cursor:pointer; }
.keychain-option-grid label:has(input:checked) { border-color:var(--accent); background:rgba(255,122,26,.06); box-shadow:inset 0 -2px var(--accent); }
.keychain-option-grid input { position:absolute; opacity:0; }
.keychain-option-grid strong { font-size:10px; }
.shape-icon { width:34px; height:42px; display:block; border:2px solid #9d704e; border-radius:8px; background:#c3925f; }
.shape-icon.shape-round { width:38px; height:38px; border-radius:50%; }
.shape-icon.shape-hex { width:40px; clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%); border-radius:0; }
.keychain-select { margin-bottom:9px; display:grid; gap:7px; color:#9ea7af; font-size:10px; font-weight:750; }
.keychain-select select { width:100%; padding:12px 13px; border:1px solid #363e46; border-radius:8px; outline:none; background:#0f1215; color:var(--text); }
.keychain-select select:focus { border-color:var(--accent); }
.keychain-addon { margin-top:9px; border-radius:9px !important; border-top:1px solid #2c333a !important; }
.keychain-page .personalization-field + .keychain-select { margin-top:11px; }
.quantity-pills { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
.quantity-pills label { cursor:pointer; }
.quantity-pills input { position:absolute; opacity:0; }
.quantity-pills span { min-height:42px; display:grid; place-items:center; border:1px solid #343c44; border-radius:8px; background:#111519; font-size:12px; font-weight:850; }
.quantity-pills label:has(input:checked) span { border-color:var(--accent); background:rgba(255,122,26,.08); color:var(--accent2); }
.draft-checkout:disabled { opacity:.58; cursor:not-allowed; filter:saturate(.45); }
@media (max-width:620px) { .keychain-preview-stage { min-height:480px; } .keychain-blank { width:210px; height:295px; } .keychain-preview-stage[data-shape="round"] .keychain-blank { width:245px; height:245px; } .keychain-preview-stage[data-shape="hex"] .keychain-blank { width:245px; height:265px; } .keyring { width:100px; top:42px; } }

/* Acrylic lamp confidence and gifting layer */
.lamp-confidence{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.lamp-confidence div{padding:18px 20px;display:grid;gap:5px}.lamp-confidence div+div{border-left:1px solid var(--line)}.lamp-confidence strong{font-size:12px}.lamp-confidence span{color:var(--muted);font-size:10px;line-height:1.5}.lamp-photo-guide{margin-top:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.lamp-photo-guide summary{padding:13px 15px;display:flex;justify-content:space-between;gap:14px;cursor:pointer;font-size:11px;font-weight:800;list-style:none}.lamp-photo-guide summary::-webkit-details-marker{display:none}.lamp-photo-guide summary span{color:var(--accent);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.lamp-photo-guide[open] summary{border-bottom:1px solid var(--line)}.lamp-photo-guide>div{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.lamp-photo-guide article{padding-left:10px;border-left:2px solid var(--accent)}.lamp-photo-guide b{font-size:10px}.lamp-photo-guide p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.lamp-proof-choice{border-radius:9px!important}.lamp-proof-choice small{max-width:235px;line-height:1.45}.lamp-gift-fields{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.lamp-gift-fields label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:800}.lamp-gift-fields label.wide{grid-column:1/-1}.lamp-gift-fields label>span{display:flex;justify-content:space-between}.lamp-gift-fields small{font-weight:500}.lamp-gift-fields input,.lamp-gift-fields select,.lamp-gift-fields textarea{box-sizing:border-box;width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font:inherit;font-size:10px}.lamp-gift-fields textarea{resize:vertical;line-height:1.45}.lamp-gift-fields input:focus,.lamp-gift-fields select:focus,.lamp-gift-fields textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 28%,transparent);border-color:var(--accent)}.lamp-promise{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;padding-top:76px}.lamp-promise h2{margin:12px 0 18px;font-size:clamp(32px,4vw,52px);line-height:1}.lamp-promise>div>p{color:var(--muted);font-size:14px;line-height:1.7}.lamp-promise dl{margin:0;border-top:1px solid var(--line)}.lamp-promise dl div{padding:16px 0;display:grid;grid-template-columns:110px 1fr;gap:18px;border-bottom:1px solid var(--line)}.lamp-promise dt{color:var(--accent);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.lamp-promise dd{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:900px){.lamp-confidence{grid-template-columns:1fr 1fr}.lamp-confidence div:nth-child(3){border-left:0}.lamp-confidence div:nth-child(n+3){border-top:1px solid var(--line)}.lamp-promise{grid-template-columns:1fr;gap:28px}}
@media(max-width:620px){.lamp-confidence,.lamp-photo-guide>div,.lamp-gift-fields{grid-template-columns:1fr}.lamp-confidence div+div{border-left:0;border-top:1px solid var(--line)}.lamp-gift-fields label.wide{grid-column:auto}.lamp-promise dl div{grid-template-columns:1fr;gap:5px}}
