/* Every route shares one centred content grid. The shortcuts float independently. */
:root{--dock-size:52px;--dock-edge:max(12px,env(safe-area-inset-right));--dock-gap:9px;--rail:calc(var(--dock-size) + var(--dock-edge) + 12px);--edge:clamp(16px,3vw,46px);--page-inset:var(--rail);--brand-ground:#1e0a13}
#app{min-height:100vh}
html{scroll-padding-block-start:96px}
main.max,main>.max,.max.head-main,.topline .max,.max.foot-inner{padding-inline:var(--page-inset)}
@media(min-width:1550px){:root{--page-inset:var(--edge)}}
h1,h2,h3,.card strong,.stage3d-caption b{overflow-wrap:break-word;hyphens:auto}
:focus-visible{outline:2px solid #ffe0a0;outline-offset:3px}
[hidden]{display:none!important}
.sitehead{background:var(--brand-ground);backdrop-filter:none}
.brand{display:flex;align-items:center;justify-content:center;flex:none;width:clamp(142px,14vw,176px);min-width:0;height:auto;padding-block:5px;overflow:visible;background:var(--brand-ground)}
.brand img{position:static;display:block;width:100%;height:auto;mix-blend-mode:normal}
.brand picture{position:relative;display:block;width:100%;aspect-ratio:580 / 258}
.brand picture,.foot-brand img,.ring-back img,#installBody img{mask:var(--brand-mask) center / contain no-repeat}
.brand picture::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 34%,#fff4cb04 42%,#fff4cb60 50%,#fff4cb04 58%,transparent 66%);background-size:290% 100%;animation:brand-glint 7s ease-in-out infinite}
.brand::after{content:none}
.topline .max{justify-content:space-between}
.hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);min-height:clamp(360px,36vw,478px);isolation:isolate}
.hero:before{background:linear-gradient(90deg,#1a080e55,transparent 66%)}
.hero-copy{width:100%;min-width:0;padding:clamp(22px,3.3vw,54px) clamp(12px,2vw,32px);text-align:center;justify-self:center}
.hero h1{font-size:clamp(37px,4.7vw,76px);line-height:1.02;margin:15px auto;letter-spacing:-.045em;text-wrap:balance;max-width:100%}
.hero-copy p{max-width:39ch;margin:15px auto;color:#e8cfc0}
.hero-actions{justify-content:center;gap:10px;margin-top:20px}
.hero-art{position:relative;inset:auto;min-width:0;width:100%;height:100%;align-content:center}
.hero-art img{display:block;width:100%;height:auto;object-fit:contain;filter:none}
.hero-art:after{background:linear-gradient(90deg,#240b140a,transparent 12%)}
.feature{display:flex;justify-content:center;align-items:center;gap:10px;min-width:0;font-weight:600;color:#eed7c6}
.feature img,.toolmenu img{width:34px;height:34px;object-fit:contain;display:block;flex:none;border-radius:8px;border:1px solid #ac7d54;background:#240e17}
.feature-shot{position:relative;display:block;flex:none}
.feature .feature-shot img{display:block;width:76px;height:auto;aspect-ratio:10 / 7;object-fit:contain;border-radius:7px}
.feature .feature-shot b{position:absolute;right:-4px;bottom:-3px;margin:0;padding:2px 4px;border:1px solid #b08a58;border-radius:4px;background:#291019;color:#ffdfa0;font:700 9px/1.2 var(--sans)}
.feature:hover,.feature:focus-visible{background:#381320;color:#ffe4b5}
.section,.pagehead,.category-card,.collection-head,.duo-text,.step,.gift-demo>div:first-child,.disclaimer,.saved-item,.text-panel,.studio-page .studio-hint,.stage3d-caption,.studio-preview,.privacy-banner,.studio-side h2,.studio-canvas-wrap h2,.editor-template-header,.canvas-head{text-align:center}
.section-title:before{display:none}
.section-title{margin:8px auto 16px}
.section>.muted,.pagehead p,.text-panel>p,.collection-head p,.gift-demo p{max-width:63ch;margin-inline:auto}
.section>.muted{margin-bottom:24px}
.eyebrow{line-height:1.5;letter-spacing:.17em}
.category-card{min-height:0;display:flex;flex-direction:column}
.category-picture{width:100%;height:auto;aspect-ratio:480/332;background:#2b101a}
.category-picture img{object-fit:contain;filter:none}
.category-card:hover .category-picture img,.duo-card:hover .duo-visual img{transform:none}
.category-picture:after{display:none}
.category-card .card-body{position:relative;display:grid;place-items:center;flex:1;padding:15px 13px 18px;color:#f1d6b6}
.category-card small{display:block;color:#d3b4a9;margin-top:6px;font-size:12px}
.category-card h3{font-size:clamp(18px,2.2vw,28px);line-height:1.12}
.circle-arrow{position:absolute;top:0;right:9px;transform:translateY(-65%);width:27px;height:27px;font-size:15px;background:#2c111a;color:#ffe6b9}
.stage3d-caption{align-items:center;justify-content:center}
.stage3d-caption b,.stage3d-caption p,.stage3d-caption small{max-width:100%}
.stage3d-nav button{min-width:44px;min-height:44px}
.collection-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;padding:clamp(18px,3vw,40px)}
.collection-head>div,.duo-text>div,.promo-copy,.feature span{min-width:0}
.collection-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}
.collection-pair img{width:100%;height:auto;mask:none;object-fit:contain;border-radius:10px}
.duo-text{flex-direction:column;justify-content:center}
.duo-card{min-height:0}
.promo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.promo.card{padding:0;display:flex;min-height:0;align-items:stretch}
.promo-image{background:#1d0910;border-bottom:1px solid #ac78464d}
.promo-image img{display:block;width:100%;height:clamp(126px,14vw,180px);object-fit:contain}
.promo-copy{display:flex;flex:1;align-items:center;flex-direction:column;padding:20px 14px 22px;text-align:center}
.promo-copy h3{font:italic 600 clamp(23px,2.6vw,37px)/1.08 var(--serif);color:#ffe0b4;margin:10px 0 0}
.promo-copy p{margin:8px auto 18px;max-width:34ch}
.promo-copy .btn{margin-top:auto}
.step{flex-direction:column;align-items:center;justify-content:flex-start}
.stepnum{margin-inline:auto}
.gift-demo{scroll-margin-top:30px}
.gift-demo h2{margin:.15em auto .35em}
.gift-glow{max-width:100%}
.gift-card{pointer-events:none}
.template-show{padding:0;display:flex;flex-direction:column;gap:0;min-height:0}
.template-image{display:block;width:100%;aspect-ratio:480 / 332;background:#220d14;overflow:hidden}
.template-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.template-copy{padding:13px 8px 16px;display:grid;gap:3px;place-items:center;width:100%}
.template-copy strong{font:italic 600 clamp(20px,2.3vw,28px)/1.15 var(--serif);color:#f5d5a9}
.template-copy small{color:#d0afa2;font:500 11px/1.35 var(--sans)}
.pet-templates{margin:24px auto 0;text-align:center}
.pet-templates>h3{margin:0 0 12px;color:#efcfa2;font:italic 600 clamp(23px,3vw,32px)/1.2 var(--serif)}
.template-gallery.pet-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.editor-pets{min-width:0;margin:14px 0 0;padding:9px 8px 8px;border:1px solid #9a6d454d;border-radius:12px}
.editor-pets legend{margin:auto;padding-inline:6px;color:#f2d29e}
.editor-templates.pet-tools{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:520px){
 .template-gallery.pet-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pet-gallery .template-show:last-child{grid-column:1 / -1;width:calc((100% - 8px) / 2);justify-self:center}
}
.privacy-banner{justify-content:center;line-height:1.6}
.privacy-banner>div{max-width:76ch}
.studio-grid{grid-template-columns:minmax(192px,.8fr) minmax(245px,1.65fr) minmax(188px,.82fr);align-items:start}
.studio-grid>*{min-width:0}
.toolmenu button{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:5px;align-items:center;text-align:center;line-height:1.3;color:#f2dac7}
.toolmenu img{width:32px;height:32px}
.tool-form label,.tool-form .mini-help,.tool-form .privacy-state{text-align:center}
.tool-form input:not([type=color]),.tool-form select,.tool-form button,.palette{max-width:100%;min-width:0}
.tool-form .palette{justify-content:center}
.studio-side .tool-form input[type=color]{justify-self:center}
.layer-item{align-items:center;gap:5px;overflow-wrap:anywhere}
.studio-canvas-wrap .canvas-head{flex-direction:column;justify-content:center;gap:4px}
.editor-templates{grid-template-columns:repeat(4,minmax(0,1fr))}
.template-btn{padding:0 0 6px;overflow:hidden;min-height:0;gap:4px;font-size:11px;line-height:1.25}
.template-btn img{width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;background:#250e17}
.template-btn.active{box-shadow:0 0 0 1px #f1c88b}
.flip3d-tools,.saved-item .actions,.contact-actions{justify-content:center}
.product-preview-image{object-fit:contain}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.text-panel h2{line-height:1.15}
.text-panel .steps{margin-top:20px}
.studio-panel-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.studio-panel-actions .btn{padding-inline:5px}
.studio-panel-actions .artwork-export{grid-column:1 / -1}
.name-field{display:grid;gap:5px;width:min(100%,430px);margin:12px auto 4px;text-align:center}
.name-field label{font-weight:700;color:#f6dcc0}
.name-field input{width:100%;min-width:0;min-height:44px;padding:9px 12px;border:1px solid #aa8058;border-radius:10px;background:#1b0b13;color:#fff0df;font:inherit;font-size:16px;text-align:center;scroll-margin-block:100px}
.name-field small{color:#dcc1b0;font-size:12px;line-height:1.4}
.lettering-pickers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:8px;margin:5px 0 3px}
.lettering-pickers label{display:grid;min-width:0;gap:3px;text-align:start;font-size:13px}
.lettering-pickers select{width:100%;min-width:0;min-height:44px;padding:6px 9px;background:#26101b;color:#ffe8c1;border:1px solid #926848;border-radius:9px;color-scheme:dark;font:inherit;font-size:16px}
.toast{right:var(--rail);left:auto;max-width:min(360px,calc(100vw - var(--rail) - 10px));overflow-wrap:anywhere}
.foot{margin-top:42px;position:relative;background:radial-gradient(ellipse at 50% 0%,#391220,#1b0911 62%,#12070c);border-top:1px solid #b98c5957}
.foot-inner{padding:30px max(var(--rail),var(--edge)) 0;text-align:center}
.foot-brand{display:grid;place-items:center;margin:0 auto 23px}
.foot-brand a{display:inline-flex;border-radius:6px}
.foot-brand img{display:block;width:138px;height:auto}
.foot-brand p{margin:6px 0 0;color:#dfc4b2;font-size:13px}
.foot-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1060px;margin:0 auto;padding:23px 0;border-block:1px solid #bf8d5350}
.foot-links nav{min-width:0}
.foot-links h3{font:italic 600 clamp(20px,2.2vw,29px)/1.18 var(--serif);color:#f3d1a0;margin:0 0 8px}
.foot-links ul{margin:0;padding:0;list-style:none}
.foot-links li{line-height:1.2}
.foot-links a{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:3px 5px;font:500 13px/1.45 var(--sans);color:#dfc6ba;overflow-wrap:anywhere}
.foot-links a:hover{color:#ffdea4;text-decoration:underline;text-underline-offset:3px}
.foot-end{padding:18px 0 22px;display:flex;flex-wrap:wrap;gap:5px 16px;justify-content:center;color:#ccb1a5;font-size:11px}
.quick-dock{position:fixed;z-index:80;right:var(--dock-edge);bottom:calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:var(--dock-gap)}
.dock-preference,#restoreDock{display:none}
.quick-btn{display:grid;place-items:center;width:var(--dock-size);height:var(--dock-size);border-radius:50%;padding:0;text-decoration:none;border:1px solid #c69a5d;box-shadow:0 3px 14px #070207a6;transition:transform .2s}
.quick-btn:hover{transform:translateY(-2px)}
.quick-btn svg{display:block;width:54%;height:54%;pointer-events:none}
.install-btn{color:#39200f;background:linear-gradient(135deg,#f8e0ac,#c09356)}
.ask-btn{background:#230a12;position:relative;isolation:isolate;border-color:#f0c878}
.ask-btn:before{content:'';position:absolute;inset:-2px;z-index:-1;border-radius:50%;background:conic-gradient(#d5a763,#6e243a,#f9dc9f,#a64a54,#d5a763);animation:ejderOrbit 8s linear infinite}
.ask-btn img{width:calc(100% - 4px);height:calc(100% - 4px);object-fit:cover;border-radius:50%;display:block}
.whats-btn{background:#126144;color:#fff;border-color:#78bc88}
@keyframes ejderOrbit{to{transform:rotate(1turn)}}
#utilityDialog{position:fixed;z-index:100;margin:auto;padding:0;border:1px solid #c79359;background:#230c16;color:#ffedda;border-radius:22px;width:min(390px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 22px 88px #0501039c}
#utilityDialog::backdrop{background:#10060bb8}
.utility-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 26px);padding:18px;gap:8px}
.utility-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #a773494f}
.utility-head small{font-size:9px;letter-spacing:.19em;color:#e6bd82}.utility-head h2{font:italic 600 25px/1.15 var(--serif);color:#ffe0a8;margin:3px 0 0}
.dialog-close,.voice-btn,#chatHints button{border:1px solid #a578526e;background:#351320;color:#f5dfcb;border-radius:10px}
.dialog-close{width:42px;height:42px;font-size:25px;line-height:1;flex:none}
#chatBody{display:flex;flex-direction:column;min-height:0;gap:10px}
#chatLog{display:flex;flex-direction:column;align-items:flex-start;min-height:95px;max-height:min(38dvh,320px);overflow-y:auto;gap:8px;overscroll-behavior:contain}
.chat-row{max-width:93%;padding:8px 11px;background:#371624;border-radius:12px;font-size:13px;overflow-wrap:anywhere;flex:none}
.chat-row.user{align-self:flex-end;background:#693047}
.chat-row p{margin:0}.chat-row a{display:inline-block;color:#ffd99a;margin-top:6px;text-decoration:underline;text-underline-offset:2px}
#chatForm{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
#askInput{width:100%;min-width:0;background:#160a10;border:1px solid #a77d57;border-radius:10px;padding:10px;color:#ffe8d1;font-size:16px}
#chatHints,.voice-row{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
#chatHints button,.voice-btn{min-height:36px;padding:4px 10px;font-size:12px}
.voice-btn[aria-pressed=true]{background:#6c2941;border-color:#f3cf93}
#utilityStatus{font-size:12px;color:#f1c992;text-align:center}
#utilityStatus:empty{display:none}
#installBody{text-align:center;padding:4px 5px 10px;overflow:auto}
#installBody img{width:130px;max-width:80%;height:auto;margin:4px auto}
#installBody p{font-size:14px;line-height:1.6;color:#efdbcc}
@media(min-width:850px){#utilityDialog{margin:auto calc(var(--rail) + 12px) 16px auto}}
@media(max-width:1180px){.studio-grid{grid-template-columns:minmax(185px,.8fr) minmax(0,1.65fr)}.studio-preview{display:block;width:100%;grid-column:1/-1;max-width:640px;justify-self:center}.studio-preview>.controlgroup{margin-block:10px}}
@media(max-width:900px){
 :root{--dock-size:46px;--dock-edge:max(8px,env(safe-area-inset-right));--rail:calc(var(--dock-size) + var(--dock-edge) + 8px);--page-inset:max(clamp(12px,2.7vw,24px),env(safe-area-inset-left),env(safe-area-inset-right))}
 html{scroll-padding-block:86px calc(3 * var(--dock-size) + 2 * var(--dock-gap) + 20px + env(safe-area-inset-bottom))}
 .hero{grid-template-columns:minmax(0,1fr);min-height:0;align-items:start}
 .hero-copy{padding:28px 16px 16px;max-width:570px}
 .hero h1{font-size:clamp(36px,6.2vw,56px)}
 .hero-art{position:relative;inset:auto;height:auto;max-height:none}
 .hero-art img{aspect-ratio:1135/398;object-fit:contain}
 .hero-actions .btn{min-height:42px}
 .promo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.promo:first-child{grid-column:auto}
 .foot-end{padding-inline:var(--rail);min-height:calc(3 * var(--dock-size) + 2 * var(--dock-gap) + 22px + env(safe-area-inset-bottom));align-content:center}
 body:has(.tool-form :is(input,select):focus,.name-field :is(input,select):focus,.studio-page canvas.dragging) .quick-dock{visibility:hidden}
 .dock-preference{display:block;width:100%;border:0;background:transparent;color:#f4d69b;padding:12px;cursor:pointer}
 .dock-folded .quick-dock{display:none}
 .dock-folded #restoreDock{display:grid;place-items:center;position:fixed;right:var(--dock-edge);bottom:calc(12px + env(safe-area-inset-bottom));z-index:80;width:44px;height:44px;border:1px solid #c69a5d;border-radius:50%;background:var(--brand-ground);color:#ffdfa2;font-size:23px;cursor:pointer}
 body:has(.mobilemenu.open) #restoreDock{visibility:hidden}
 .stage3d-view{min-height:clamp(175px,34vw,300px)}
 .stage3d-nav{bottom:7px;left:8px}
 .stage3d-caption{gap:5px;padding:14px}
}
@media(max-width:700px){
 :root{--dock-size:44px;--dock-gap:7px;--dock-edge:max(5px,env(safe-area-inset-right));--rail:calc(var(--dock-size) + var(--dock-edge) + 8px)}
 .hero,.features,.collection-head{margin-inline:calc(0px - var(--page-inset));border-inline:0;border-radius:0}
 .hero{margin-top:0}
 .language button{min-height:36px}.menu-btn{width:40px;height:40px}
 .hero-copy{padding:24px max(18px,var(--page-inset)) 16px}
 .hero h1{font-size:clamp(27px,7vw,47px);letter-spacing:-.045em;line-height:1.04}
 .hero p{font-size:13px}.hero-actions{gap:7px;margin-top:13px}
 .hero-actions .btn{padding:8px 13px;min-height:39px;font-size:12px}
 .feature{padding:10px 4px;gap:5px;flex-direction:column;font-size:11px}
 .feature img{width:30px;height:30px}
 .features{padding-inline:clamp(16px,7vw,34px);background:#1e0b13}
 .feature .feature-shot img{width:clamp(76px,21vw,92px)}
 .pagehead{margin:22px auto}.pagehead h1,.studio-page .pagehead h1{font-size:clamp(29px,7vw,45px);line-height:1.04}
 .section{margin:32px auto}.section-title{font-size:clamp(26px,6.5vw,37px);line-height:1.12}
 .collection-head{grid-template-columns:minmax(0,1fr);padding:16px}.collection-head h1{font-size:clamp(28px,7vw,45px)}
 .promo-grid,.steps{grid-template-columns:1fr}.promo-image img{height:155px}
 .promo-copy{padding:15px}.promo h3{font-size:26px}
 .category-grid,.template-gallery{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .category-card .card-body{padding:12px 7px}
 .category-card small{font-size:11px}
 .category-card h3{font-size:clamp(17px,4.4vw,24px)}
 .template-copy strong{font-size:clamp(16px,4.3vw,24px)}
 .template-copy small{font-size:10px}
 .gift-demo{padding:16px;gap:4px;grid-template-columns:minmax(0,1fr)}
 .gift-stage.photo3d{height:clamp(165px,52vw,245px)}
 .gift-demo h2{font-size:clamp(28px,7vw,44px)}
 .duo-visual{height:auto;aspect-ratio:480/332}.duo-visual img{width:100%;height:100%;max-width:100%;object-fit:contain}
 .studio-grid{display:flex;flex-direction:column;gap:12px}.studio-grid>*{width:100%;margin:0}
 .studio-canvas-wrap{order:0}.studio-side{order:1}.studio-preview{order:2}
 .studio-side,.studio-canvas-wrap,.studio-preview{padding:12px}
 .editor-templates{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.template-btn{font-size:10px}
 .studio-grid .canvas-head h2{font-size:25px}
 .text-panel{padding:16px}.text-panel h2{font-size:25px}
 .foot-brand{margin-bottom:15px}
 .foot-links{grid-template-columns:minmax(0,1fr);gap:0;padding:0;max-width:500px}
 .foot-links nav{padding:14px 0}.foot-links nav+nav{border-top:1px solid #ad80553b}
 .foot-links ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 10px}
 .foot-links a{min-height:40px;font-size:12px}
 .foot-links h3{font-size:23px;margin:0 0 5px}
 .foot-end{display:grid;gap:3px}
}
@media(max-width:380px){
 .topline .max{gap:5px}
 .hero-actions{flex-wrap:wrap;align-items:center}
 .category-grid{grid-template-columns:minmax(0,1fr)}
 .studio-panel-actions{grid-template-columns:1fr}
 .editor-templates{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.ask-btn:before,.brand picture::after,.spark{animation:none!important}.brand picture::after{content:none}}
.mobilemenu .mobile-search{display:block;width:min(100%,420px);margin:0 auto 8px}
.mobile-search .search-results{position:static;margin-top:4px;min-width:0;text-align:center}
.search-results:not(:has(a)){padding:10px}
@media(max-width:1180px) and (min-width:1101px){.head-main .searchbar{display:block;width:110px}.head-main{gap:12px}.mainnav{justify-content:center}}
@media(max-width:1100px){
 .max.head-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-height:68px}
 .head-main .mainnav,.head-main .searchbar{display:none}
 .head-actions{display:contents}
 .brand{grid-area:1 / 1;justify-self:start;width:clamp(122px,36vw,166px)}
 .language{grid-area:1 / 2;justify-self:end}
 .menu-btn{grid-area:1 / 3;justify-self:end;display:grid}
 .mobilemenu.open{display:block}
 .mobilemenu{padding-inline:var(--page-inset);text-align:center;max-height:calc(100dvh - 88px);overflow:auto}
 body:has(.mobilemenu.open) .quick-dock{visibility:hidden}
}
@media(max-width:700px),(max-width:900px) and (pointer:coarse){
 .max.head-main{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 .brand{grid-column:2;justify-self:center}
 .language{grid-column:1;justify-self:start}
}
.duo-grid,.duo-card,.duo-text,.duo-text>div{min-width:0}
.duo-text>div{width:100%}
.duo-text h2{overflow-wrap:anywhere}
.template-image{display:grid;place-items:center;background:radial-gradient(ellipse at center,#512132,#250e18 72%);border-bottom:1px solid #c3996866}
.template-image img{object-fit:contain;object-position:center;height:100%;width:100%}
.hero-art img{mask-image:none}
@media(max-width:700px){.duo-grid{grid-template-columns:minmax(0,1fr)}.duo-text h2{font-size:clamp(24px,6vw,33px)}.hero-art img{mask-image:none}}
.saved-item canvas{width:100%;height:auto;max-height:230px;object-fit:contain;border-radius:10px;background:#230d15;display:block}
.search-results button{display:block;width:100%;border:0;border-bottom:1px solid #a4754937;background:transparent;color:inherit;padding:11px 13px;font-size:12px;text-align:inherit}
.search-results button:hover,.search-results button:focus-visible{background:#693047}
button,.btn,.quick-btn{touch-action:manipulation}
.template-image{position:relative}
.template-image img{position:absolute;inset:0;min-width:0;min-height:0}
.product-palette{min-width:0;margin:12px 0 15px;padding:8px 6px 10px;border:1px solid #a8784c77;border-radius:13px;text-align:center;background:#210d16}
.product-palette legend{margin:auto;padding-inline:8px;font:600 13px/1.5 var(--sans);color:#f5dbaf}
.product-palette .palette{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px}
.product-palette .colorbtn{position:relative;width:38px;height:38px;min-width:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none}
.product-palette .colorbtn::before{content:'';position:absolute;inset:5px;border:1px solid #e2c0908c;border-radius:50%;background:var(--swatch)}
.product-palette .stock-swatch::before{background:linear-gradient(140deg,#fbecd5 40%,#a18776 41%,#49373d 68%)}
.product-palette [aria-pressed=true]::after{content:'';position:absolute;inset:1px;border:2px solid #ffda93;border-radius:50%}
.custom-swatch{display:inline-flex;align-items:center;gap:5px;font:600 12px/1.3 var(--sans);color:#f8e4cd;min-height:38px;padding:0 5px;cursor:pointer}
.custom-swatch input{width:28px;height:28px;padding:0;border:1px solid #ae8963;border-radius:5px;cursor:pointer;background:none}
.studio-preview canvas.product-preview-image{display:block;width:100%;height:auto;max-height:154px;object-fit:contain;margin:0 auto 8px}
.case-gallery{margin-bottom:30px}.case-gallery .category-grid{margin-top:16px}
@media(pointer:coarse){.product-palette .colorbtn{width:44px;height:44px}.custom-swatch{min-height:44px}}
.motif-picker{min-width:0;scroll-margin-top:95px}.motif-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:9px auto 14px;max-width:900px}
.motif-tab{padding:5px 10px;min-height:36px;background:#30131e;border:1px solid #9c714e66;color:#f3dacc;border-radius:18px;font:600 12px/1.3 var(--sans)}
.motif-tab small{font-size:10px;opacity:.85}.motif-tab[aria-pressed=true]{color:#301220;background:#f0d3a3;border-color:#f3daa8}.motif-picker .editor-templates{margin-top:0}
@media(max-width:520px){.motif-tab{font-size:11px;padding:5px 9px;min-height:38px}.motif-tabs{gap:4px}}

.choose-case{display:inline-block;padding:4px 8px;color:#edc78d;font:500 12px/1.4 var(--sans);text-decoration:underline;text-underline-offset:3px}
.gallery-link{display:flex;justify-content:center;margin:19px auto 4px}
