@font-face{font-family:Cormorant;src:url('/homepage/assets/fonts/cormorant-garamond-regular.ttf')}@font-face{font-family:Cormorant;src:url('/homepage/assets/fonts/cormorant-garamond-italic.ttf');font-style:italic}@font-face{font-family:Manrope;src:url('/homepage/assets/fonts/manrope-regular.ttf')}
:root{--forest:#283c29;--sage:#414e3c;--ivory:#f7f3eb;--ink:#29261f;--wine:#763a39;--gold:#c2a063;--line:#cfc6b8;--soft:#655f55}
*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.5 Manrope,sans-serif}h1,h2,h3,p{margin:0 0 20px}h1,h2,h3,button,.progress,nav{font-family:Cormorant,serif;font-weight:400}h1{font-size:clamp(46px,3.6vw,72px);line-height:1.04}h2{font-size:clamp(32px,2.6vw,46px);line-height:1.12}h3{font-size:28px;line-height:1.15}button,input,select{font:inherit}button{font:22px/1.15 Cormorant,serif;min-height:44px;cursor:pointer;color:var(--ink);background:transparent;border:1px solid var(--line);padding:10px 18px;border-radius:4px}button:hover{border-color:var(--gold)}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}
.gift-header{height:88px;background:var(--forest);color:var(--ivory);display:flex;align-items:center;justify-content:space-between;padding:10px 3%;gap:30px}.gift-header img{display:block;height:68px;width:100px;object-fit:contain;filter:brightness(0) invert(1)}.gift-header nav{display:flex;gap:36px;font-size:24px}.gift-header nav a{text-decoration:none}.preview-note{font-size:12px;max-width:110px}.progress{display:flex;list-style:none;margin:0;padding:20px 9%;border-bottom:1px solid var(--line);counter-reset:step;font-size:23px}.progress li{position:relative;flex:1;text-align:center;counter-increment:step}.progress li:before{content:counter(step);display:grid;place-items:center;width:42px;height:42px;border:1px solid #ab9c89;border-radius:50%;margin:0 auto 6px;position:relative;z-index:1;background:var(--ivory)}.progress li:not(:last-child):after{content:'';position:absolute;height:1px;background:var(--line);top:21px;left:calc(50% + 21px);width:calc(100% - 42px)}.progress li[aria-current=step]:before{background:var(--forest);color:white;border-color:var(--forest)}.progress li[aria-current=step]{font-weight:600}.progress li.done:after{background:var(--forest)}
#workspace{display:grid;grid-template-columns:4fr 5fr 3fr;min-height:calc(100dvh - 199px)}.left-rail{background:var(--sage);color:var(--ivory);padding:44px 12% 30px;display:flex;flex-direction:column;align-items:stretch;min-width:0}.eyebrow{font-size:14px;letter-spacing:3px;color:var(--gold);margin-bottom:30px}.left-rail p{font:28px/1.3 Cormorant,serif}.left-rail .rule{width:150px;border-top:1px solid var(--gold);margin:0 0 30px}.left-rail .tagline{margin-top:auto;padding-top:36px;font-style:italic;color:var(--gold);font-size:30px}.left-rail :is(#back,#new-gift,#resume-gift){align-self:flex-start;background:var(--ivory);color:var(--ink);border-radius:30px;min-width:140px;margin-top:26px}.center{padding:32px;min-width:0}.right-rail{border-left:1px solid var(--line);padding:32px;min-width:0;display:flex;flex-direction:column;gap:18px}.right-rail p{font:24px/1.25 Cormorant,serif}.primary{background:var(--forest);color:var(--ivory);border:0;min-height:66px;width:100%;font-size:28px;padding:16px 26px;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%);margin-top:auto;text-align:center}.primary:hover{background:var(--sage)}.primary:focus-visible{outline:0;box-shadow:inset 0 0 0 4px var(--gold)}.secondary{border:1px solid var(--line);text-decoration:none;font-size:22px;padding:10px 18px}.small,.right-rail .small{font:14px/1.5 Manrope,sans-serif;color:var(--soft)}.left-rail .small{color:var(--ivory)}#error{border-left:3px solid var(--wine);padding:12px;margin-bottom:18px}#status:not(:empty){padding:12px 0}.upload{border:1px dashed #ab9c89;min-height:400px;margin-top:32px;padding:40px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:14px}.upload.drag{outline:3px solid var(--gold)}.upload p{font:28px Cormorant,serif}.upload .upload-icon{font:90px/1 Cormorant,serif;color:var(--wine);margin-bottom:32px}.upload button{background:var(--wine);color:var(--ivory);min-width:240px;font-size:28px}.photo{display:block;width:100%;max-height:400px;object-fit:contain}.tips{padding:0;list-style:none}.tips li{font:24px/1.4 Cormorant,serif;margin:18px 0}.tips li:before{content:'✓';color:var(--forest);margin-right:12px}.radios{border:0;padding:0;margin:30px 0}.radio{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--line);margin-bottom:14px;font:26px Cormorant,serif;border-radius:4px;cursor:pointer}.radio:has(input:checked){background:var(--forest);color:var(--ivory)}input[type=radio]{accent-color:var(--gold);width:20px;height:20px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{padding:0;border:0;position:relative;min-width:0;border-radius:3px;text-align:center}.tile img{width:100%;aspect-ratio:1;object-fit:contain;display:block;background:#eee8dc;border-radius:3px}.tile span{display:block;font:22px/1.15 Cormorant,serif;padding-top:8px}.tile[aria-pressed=true]{outline:2px solid var(--gold);outline-offset:4px}.tile[aria-pressed=true]:after{content:'✓';position:absolute;right:7px;top:7px;border-radius:50%;background:var(--gold);color:white;width:28px;height:28px;display:grid;place-items:center}.product{border:1px solid var(--line);padding:12px;border-radius:4px}.product h3{font-size:25px;margin:10px 0}.product img{width:100%;height:150px;object-fit:contain}.product button{width:100%;font-size:20px}.product.active{border:2px solid var(--gold)}.field{display:block;margin-bottom:18px}.field span{display:block;margin-bottom:7px;font-size:14px}.field input,.field select{width:100%;padding:12px;border:1px solid var(--line);background:var(--ivory);min-height:48px;border-radius:4px}.sizes{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.sizes button[aria-pressed=true]{border:2px solid var(--gold)}.product-config{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.filters{margin:20px 0;display:flex;flex-direction:column}.filters button{border:0;text-align:left;color:var(--ivory);display:flex;justify-content:space-between;gap:10px;padding:10px 12px;font-size:24px}.filters button[aria-pressed=true]{background:var(--forest);border-left:4px solid var(--gold)}.palette{max-height:calc(100dvh - 320px);overflow-y:auto;padding:6px 8px 15px 4px;scrollbar-color:var(--line) var(--ivory);scrollbar-width:thin}.tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.tray-slot{aspect-ratio:1;border:1px dashed var(--line);position:relative;display:grid;place-items:center}.tray-slot img{width:100%;height:100%;object-fit:contain}.tray-slot button{position:absolute;right:0;top:0;background:var(--wine);color:white;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;font-size:22px}.context-image{width:100%;max-height:320px;object-fit:contain}.row{display:flex;gap:10px;align-items:center;justify-content:space-between}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.cart-line{padding:20px 0;border-bottom:1px solid var(--line)}.cart-line h3{font-size:26px}.cart-line .row{justify-content:flex-start;flex-wrap:wrap}.cart-line .row button{padding:8px 12px}.total{border-top:1px solid var(--line);margin-top:20px;padding-top:20px;font-size:18px}.mockup{background:#e8e0d1;display:flex;align-items:center;justify-content:center;margin:16px auto;width:100%;max-height:380px;overflow:hidden;border:1px solid var(--line)}.mockup img{width:100%;height:100%;object-fit:contain;display:block}.mockup.framed{border:12px solid #29261f;box-shadow:3px 3px 5px #0002}.mockup.canvas{border-right:8px solid #b9af9e;border-bottom:6px solid #b9af9e}.composition{margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid var(--line)}.composition .mockup{max-width:360px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}.address{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.summary-item{display:grid;grid-template-columns:80px 1fr;gap:16px;margin-bottom:22px}.summary-item img{width:80px;height:80px;object-fit:contain}.summary-item h3{font-size:24px}.summary-item p{font:14px/1.5 Manrope,sans-serif}dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}dt,dd{margin:0}dd{text-align:right}.skip{position:fixed;left:12px;top:-100px;z-index:10;padding:12px;background:var(--ivory)}.skip:focus{top:12px}
@media(min-width:1900px){.center,.right-rail{padding:40px}.grid{gap:26px}.product img{height:210px}.context-image{max-height:420px}.palette{max-height:calc(100dvh - 340px)}}
@media(max-width:1000px){.gift-header nav{gap:12px;font-size:20px}.gift-header{gap:12px}.progress{padding:16px 12px;font-size:18px}#workspace{grid-template-columns:1fr}.left-rail{padding:24px}.left-rail h1{font-size:42px}.left-rail .tagline{display:none}.left-rail p{font-size:24px}.right-rail{border-left:0;border-top:1px solid var(--line)}.center,.right-rail{padding:24px}.palette{max-height:none}.filters{flex-direction:row;flex-wrap:wrap}.filters button{font-size:20px}.grid{gap:14px}.address{grid-template-columns:1fr}.primary{clip-path:none;border-radius:5px}.gift-header nav{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.cart-inspection img{width:100%;max-width:100%;height:auto;object-fit:contain}
.cart-summary{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
#workspace .cart-summary .primary{margin-top:16px}
#workspace #view-cart{background:var(--forest);color:var(--ivory)}
#workspace .source-reference{display:block;width:100%;max-height:140px;object-fit:contain;margin-bottom:16px}

@media(min-width:1001px){#workspace{height:auto;min-height:calc(100dvh - 214px)}.left-rail,.center,.right-rail{overflow:visible}.right-rail .primary{position:sticky;bottom:0;flex-shrink:0}.palette{max-height:none;overflow:visible}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product img{height:140px}.product{padding:10px}.product h3{font-size:24px}.summary-item .mockup{margin:0;max-height:100px}.cart-line .mockup{max-width:140px;max-height:150px}}

.mockup{max-height:none}.upload p.small{font:14px/1.5 Manrope,sans-serif}.context-body{min-width:0}.right-rail .primary{position:static;flex-shrink:0;margin-top:auto}.summary-item .mockup{width:80px;max-height:none}.cart-line .mockup{max-height:none}@media(min-width:1001px){.right-rail{overflow:visible}.context-body{min-height:0;overflow:visible;flex:1}.right-rail .primary{margin-top:0}.context-image{max-height:280px}}

/* Focused effect filters, quiet tray, and consistent source presentation. */
.effects-rail #filters{min-height:0;overflow-y:auto;flex:1}.effects-rail .filters{margin:0;flex-direction:column}.effects-rail h1,.effects-rail>p,.effects-rail #back{flex-shrink:0}.source-holder{width:280px;max-width:100%;aspect-ratio:1;margin:0 auto 20px;background:var(--ivory);border:1px solid var(--line);border-radius:3px;overflow:hidden}.source-holder .photo{width:100%;height:100%;max-height:none;object-fit:contain}.tray-slot button{background:transparent;border:0;border-radius:0;display:grid;place-items:center}.tray-slot button span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--wine);color:white;font:20px/1 Manrope,sans-serif}@media(min-width:1001px){.effects-rail{overflow:hidden}.effects-rail #filters{scrollbar-width:thin;scrollbar-color:var(--gold) var(--sage)}}

/* Step 2 replaces the center panel for each internal task. */
[data-view="configuration"] .product-config{border:0;margin:0;padding:0}
.cart-line{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px}.cart-thumbnail .photo{width:100%;height:150px;object-fit:contain}.cart-thumbnail .mockup{margin:0}.cart-details{min-width:0}
@media(max-width:1000px){.cart-line{grid-template-columns:80px minmax(0,1fr);gap:16px}.cart-thumbnail .photo{height:80px}}

/* Mobile checkpoint 1: Your Photo only. Desktop and all other views are frozen. */
@media(max-width:1000px){
body:has(#screen[data-view="photo"]) .gift-header{height:64px;padding:8px 20px;gap:16px}
body:has(#screen[data-view="photo"]) .gift-header>a{display:flex;align-items:center;min-width:44px;min-height:44px}
body:has(#screen[data-view="photo"]) .gift-header img{height:48px;width:80px}
body:has(#screen[data-view="photo"]) .progress{padding:12px 12px;font-size:18px;line-height:1.1}
body:has(#screen[data-view="photo"]) .progress li{min-width:0;padding:0 3px}
body:has(#screen[data-view="photo"]) .progress li:before{width:30px;height:30px;margin-bottom:8px}
body:has(#screen[data-view="photo"]) .progress li:not(:last-child):after{top:15px;left:calc(50% + 15px);width:calc(100% - 30px)}
body:has(#screen[data-view="photo"]) #workspace{min-height:0;grid-template-columns:minmax(0,1fr)}
body:has(#screen[data-view="photo"]) .left-rail{padding:20px 24px}
body:has(#screen[data-view="photo"]) .left-rail .eyebrow,body:has(#screen[data-view="photo"]) .left-rail .rule,body:has(#screen[data-view="photo"]) .left-rail .tagline,body:has(#screen[data-view="photo"]) .left-rail>p+p,body:has(#screen[data-view="photo"]) .left-rail #back:disabled{display:none}
body:has(#screen[data-view="photo"]) .left-rail h1{font-size:38px;line-height:1.1;margin-bottom:8px}
body:has(#screen[data-view="photo"]) .left-rail h1 br{display:inline-block;width:.2em}
body:has(#screen[data-view="photo"]) .left-rail>p{font-size:22px;line-height:1.3;margin-bottom:0}
body:has(#screen[data-view="photo"]) .center{padding:20px 24px;min-width:0}
body:has(#screen[data-view="photo"]) #screen>h2{font-size:32px;margin-bottom:16px}
body:has(#screen[data-view="photo"]) .upload{min-height:0;margin-top:0;padding:20px 16px;gap:12px}
body:has(#screen[data-view="photo"]) .upload .upload-icon{font-size:54px;margin:0}
body:has(#screen[data-view="photo"]) .upload p{font-size:22px;line-height:1.25;margin:0}
body:has(#screen[data-view="photo"]) .upload p.small{font:14px/1.5 Manrope,sans-serif}
body:has(#screen[data-view="photo"]) .upload button{min-width:0;width:100%;min-height:52px;font-size:26px}
body:has(#screen[data-view="photo"]) .right-rail{padding:20px 24px 24px;gap:16px}
body:has(#screen[data-view="photo"]) .right-rail h2{font-size:28px;margin-bottom:12px}
body:has(#screen[data-view="photo"]) .tips{margin:0}
body:has(#screen[data-view="photo"]) .tips li{font-size:22px;line-height:1.3;margin:8px 0}
body:has(#screen[data-view="photo"]) .right-rail:has(.tips) .primary{display:none}
body:has(#screen[data-view="photo"]) .radios{margin:16px 0 0}
body:has(#screen[data-view="photo"]) .radio{font-size:24px;line-height:1.25;padding:14px 16px;min-height:56px;gap:12px}
body:has(#screen[data-view="photo"]) .radio input{flex-shrink:0}
body:has(#screen[data-view="photo"]) .primary{min-height:56px;font-size:26px}
body:has(#screen[data-view="photo"]) .source-holder{width:280px;max-width:100%}
body:has(#screen[data-view="photo"]) #change-photo{min-height:48px}
body:has(#screen[data-view="photo"]) .right-rail .small{font-size:16px;line-height:1.5}
body:has(#screen[data-view="photo"]) .left-rail h1 br{display:inline-block;width:.2em}
}

/* Remaining mobile journey; desktop rules and approved photo screen unchanged. */
@media(max-width:1000px){
body:has(#screen:not([data-view="photo"])) .gift-header{height:64px;padding:8px 20px;gap:16px}
body:has(#screen:not([data-view="photo"])) .gift-header>a{display:flex;align-items:center;min-width:44px;min-height:44px}
body:has(#screen:not([data-view="photo"])) .gift-header img{height:48px;width:80px}
body:has(#screen:not([data-view="photo"])) .progress{padding:12px 12px;font-size:18px;line-height:1.1}
body:has(#screen:not([data-view="photo"])) .progress li{min-width:0;padding:0 3px}
body:has(#screen:not([data-view="photo"])) .progress li:before{width:30px;height:30px;margin-bottom:8px}
body:has(#screen:not([data-view="photo"])) .progress li:not(:last-child):after{top:15px;left:calc(50% + 15px);width:calc(100% - 30px)}
body:has(#screen:not([data-view="photo"])){padding-bottom:env(safe-area-inset-bottom)}
body:has(#screen:not([data-view="photo"])) #workspace{min-height:0;grid-template-columns:minmax(0,1fr)}
body:has(#screen:not([data-view="photo"])) .left-rail{padding:20px 24px;overflow:visible}
body:has(#screen:not([data-view="photo"])) .left-rail .eyebrow,body:has(#screen:not([data-view="photo"])) .left-rail .rule,body:has(#screen:not([data-view="photo"])) .left-rail .tagline,body:has(#screen:not([data-view="photo"])) .left-rail>p+p,body:has(#screen:not([data-view="photo"])) .left-rail #back:disabled{display:none}
body:has(#screen:not([data-view="photo"])) .left-rail h1{font-size:38px;line-height:1.1;margin-bottom:8px}
body:has(#screen:not([data-view="photo"])) .left-rail>p{font-size:22px;line-height:1.3;margin-bottom:0}
body:has(#screen:not([data-view="photo"])) .left-rail #back{margin-top:16px;min-height:44px}
body:has(#screen:not([data-view="photo"])) .center,body:has(#screen:not([data-view="photo"])) .right-rail{padding:20px 24px;overflow:visible;min-width:0}
body:has(#screen:not([data-view="photo"])) .right-rail:empty{display:none}
body:has(#screen:not([data-view="photo"])) .context-body{overflow:visible}
body:has(#screen:not([data-view="photo"])) h2{font-size:32px;line-height:1.15}
body:has(#screen:not([data-view="photo"])) h3{font-size:26px}
body:has(#screen:not([data-view="photo"])) .small,body:has(#screen:not([data-view="photo"])) .right-rail .small{font-size:16px;line-height:1.5}
body:has(#screen:not([data-view="photo"])) .grid,body:has(#screen:not([data-view="photo"])) .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body:has(#screen:not([data-view="photo"])) .product{padding:10px;display:flex;flex-direction:column}
body:has(#screen:not([data-view="photo"])) .product img{height:auto;aspect-ratio:3/2;object-fit:contain;width:100%}
body:has(#screen:not([data-view="photo"])) .product h3{font-size:24px;overflow-wrap:anywhere}
body:has(#screen:not([data-view="photo"])) .product button{min-height:48px;margin-top:auto;font-size:22px;padding:10px 8px}
body:has(#screen:not([data-view="photo"])) .product .small{font-size:14px}
body:has(#screen:not([data-view="photo"])) .primary{position:static;width:100%;min-height:56px;margin:16px 0 0;font-size:26px;box-shadow:none}
body:has(#screen:not([data-view="photo"])) .secondary{min-height:44px;border:1px solid var(--line);text-decoration:none;font-size:22px}
body:has(#screen:not([data-view="photo"])) .row,body:has(#screen:not([data-view="photo"])) .actions,body:has(#screen:not([data-view="photo"])) .sizes{flex-wrap:wrap;gap:12px}
body:has(#screen:not([data-view="photo"])) .sizes button,body:has(#screen:not([data-view="photo"])) .cart-line .row button{min-height:48px;min-width:48px}
body:has(#screen:not([data-view="photo"])) .field input,body:has(#screen:not([data-view="photo"])) .field select{font-size:16px;min-height:48px}
body:has(#screen:not([data-view="photo"])) .field span{font-size:16px}
body:has(#screen:not([data-view="photo"])) .cart-line{grid-template-columns:96px minmax(0,1fr);gap:16px}
body:has(#screen:not([data-view="photo"])) .cart-thumbnail .photo{width:96px;height:auto;aspect-ratio:3/2;object-fit:contain}
body:has(#screen:not([data-view="photo"])) .cart-details{overflow-wrap:anywhere}
body:has(#screen:not([data-view="photo"])) .cart-details h3{font-size:26px}
body:has(#screen:not([data-view="photo"])) .summary-item{grid-template-columns:80px minmax(0,1fr);gap:12px}
body:has(#screen:not([data-view="photo"])) .summary-item p{font-size:16px}
body:has(#screen:not([data-view="photo"])) .radio{font-size:24px;line-height:1.3;padding:16px;gap:12px}
body:has(#screen:not([data-view="photo"])) .radio input{flex-shrink:0}
body:has(#screen:not([data-view="photo"])) .photo,body:has(#screen:not([data-view="photo"])) .context-image{object-fit:contain;max-width:100%;height:auto;max-height:none}
body:has(#screen:not([data-view="photo"])) .palette{max-height:none;overflow:visible;padding:6px 4px 16px}
body:has(#screen:not([data-view="photo"])) .filters{display:grid;grid-template-columns:1fr;gap:8px;margin:16px 0 0}
body:has(#screen:not([data-view="photo"])) .filters button{min-height:48px;font-size:24px}
body:has(#screen:not([data-view="photo"])) .effects-rail #filters{overflow:visible}
body:has(#screen:not([data-view="photo"])) .tile span{font-size:24px;line-height:1.2}
body:has(#screen:not([data-view="photo"])) .tray{margin:16px 0 24px;gap:12px}
body:has(#screen:not([data-view="photo"])) .tray-slot button{width:44px;height:44px}
body:has(#screen:not([data-view="photo"])) .compare{grid-template-columns:1fr;gap:16px}
body:has(#screen:not([data-view="photo"])) .mobile-filter-toggle{min-height:48px;cursor:pointer;font:24px/1.3 Cormorant,serif;padding:12px 0;color:var(--ivory)}
body:has(#screen:not([data-view="photo"])) .mobile-config-photo{width:100%;aspect-ratio:3/2;object-fit:contain;margin-bottom:20px}
body:has(#screen:not([data-view="photo"])) .right-rail .context-image{max-height:360px}
body:has(#screen[data-view="configuration"]) .right-rail .context-image{display:none}
}
.mobile-config-photo{display:none}
@media(max-width:1000px){.mobile-config-photo{display:block}}

/* Final mobile corrections: existing primary actions, reserved space and safe areas. */
@media(max-width:1000px){
.mobile-bottom-action{position:fixed;bottom:0;left:0;right:0;z-index:5;background:var(--ivory);border-top:1px solid var(--line);padding:12px 24px calc(12px + env(safe-area-inset-bottom))}
.mobile-bottom-action .small{margin:0}
body:has(#screen:not([data-view="photo"])) .mobile-bottom-action .primary{margin:0;min-height:56px}
.mobile-action-slot{flex-shrink:0}
body:has(.mobile-bottom-action){scroll-padding-bottom:120px}
body:not(.gift-pivot):has(#screen[data-view="effects"]) .right-rail .context-image,body:not(.gift-pivot):has(#screen[data-view="effects"]) .right-rail .context-body>h2{display:none}
}

/* Checkout refinement: existing three-column grid and payment gates are unchanged. */
#screen[data-view="checkout"] .address .field span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#screen[data-view="checkout"] .address .field{margin-bottom:16px}
#screen[data-view="checkout"] .address input{height:48px}
#screen[data-view="checkout"] .address input::placeholder{color:var(--soft);opacity:1}
#screen[data-view="checkout"]>.radio{align-items:flex-start;margin-top:8px}
#screen[data-view="checkout"]>.radio input{flex-shrink:0;width:20px;height:20px;accent-color:var(--forest);margin-top:6px}
#left #gift-disclosure{margin-top:16px}
#left #gift-disclosure h3{color:var(--ivory)}
#left #gift-disclosure p{font-size:22px;line-height:1.3}
body:has(#screen[data-view="checkout"]) .left-rail .tagline{padding-top:20px}

/* Six-stage journey: reuse existing mobile spacing and controls in two rows. */

/* Approved product-family selection and separate configuration, 2026-10-21. */
body:has(#screen[data-view="products"]) #workspace{height:auto;min-width:0}
body:has(#screen:is([data-view="products"],[data-view="configuration"])) #status,body:has(#screen:is([data-view="products"],[data-view="configuration"])) .preview-note{display:none}
body:has(#screen[data-view="configuration"]) #workspace{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
body:has(#screen[data-view="products"]) .center,body:has(#screen[data-view="products"]) .right-rail{width:100%;max-width:1400px;margin:0;min-width:0;overflow:visible}

.gift-feature{display:grid;grid-template-columns:minmax(0,580px) minmax(0,1fr);gap:24px 32px;align-items:start}
.gift-feature-media{grid-column:1;grid-row:1;min-width:0;touch-action:pan-y}
.gift-feature-image{display:block;width:100%;aspect-ratio:1/1;object-fit:contain}
.gift-product-picker{min-width:0}
.gift-product-selectors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gift-product-selectors button{min-width:0;min-height:44px;padding:8px;font-size:20px;white-space:normal;display:flex;flex-direction:column;align-items:center;gap:6px}
.gift-product-selectors button[aria-pressed="true"]{border:2px solid var(--forest);background:#fff}
.gift-picker-thumb{display:block;width:100%;aspect-ratio:1/1;object-fit:contain}
.gift-product-selectors small{font:12px/1.3 Manrope,sans-serif}
.gift-feature-details{grid-column:1;grid-row:2;min-width:0}.gift-feature-details h2{font-size:36px}.gift-feature-price{font-size:18px}
.gift-feature-details .primary{font-size:24px;clip-path:none;border-radius:4px;min-height:56px;margin-top:12px}
.gift-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.gift-carousel-controls button{font-size:22px;min-height:44px}.gift-carousel-controls span{white-space:nowrap;font-size:14px}
#open-product-picker,.gift-picker-heading{display:none}
.gift-favorite{display:flex;align-items:center;gap:16px;text-align:left;font-size:22px}.gift-favorite-thumb{width:56px;height:56px;object-fit:contain}
@media(max-width:1000px){
body:has(#screen[data-view="configuration"]) #workspace{grid-template-columns:minmax(0,1fr)}
body:has(#screen[data-view="products"]) .right-rail{flex-wrap:wrap}
body:has(#screen[data-view="products"]) .center{padding:16px}
#open-product-picker{display:block;width:100%;font-size:22px;min-height:66px;margin-bottom:24px;text-align:left;border-color:var(--forest)}
.gift-feature{display:block}.gift-feature-media{max-width:550px;margin:auto}.gift-feature-details{margin-top:24px}.gift-feature-details h2{font-size:32px}
.gift-product-picker{display:block;min-width:0;overflow-y:auto;overscroll-behavior:contain;background:var(--ivory)}
body:has(.gift-product-picker.is-open){overflow:hidden}
.gift-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.gift-picker-heading h2{font-size:28px;margin:0}.gift-picker-heading button{font-size:28px}
.gift-product-selectors{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:4px}.gift-product-selectors button{font-size:20px}.gift-product-selectors small{font-size:12px}
.gift-carousel-controls{gap:8px}.gift-carousel-controls button{font-size:20px;padding:10px 14px}.gift-favorite{font-size:20px}
}

/* Configuration: keep the existing primary action in the viewport and avoid nested panel scrolling. */
body:has(#screen[data-view="configuration"]) .center .gift-feature-image{max-width:580px;margin:auto}
@media(min-width:1001px){
body:has(#screen:is([data-view="configuration"],[data-view="cart"])) #workspace{height:auto;min-height:calc(100dvh - 214px);align-items:start}
body:has(#screen:is([data-view="configuration"],[data-view="cart"])) .center,body:has(#screen:is([data-view="configuration"],[data-view="cart"])) .context-body{overflow:visible}
body:has(#screen:is([data-view="configuration"],[data-view="cart"])) .right-rail{position:sticky;top:0;overflow:visible}
body:has(#screen:is([data-view="configuration"],[data-view="cart"])) .right-rail .primary{position:sticky;bottom:0;margin-top:20px}
}

/* Punch-list controls: retain the existing button sizes, palette and mobile action bar. */
@media(min-width:1001px){body:has(#screen[data-view="effects"]) .right-rail{position:sticky;top:0;align-self:start;max-height:100dvh;overflow:auto}body:has(#screen[data-view="effects"]) .right-rail .primary{order:-1;margin-top:0}body:has(#screen[data-view="effects"]) .left-rail{position:sticky;top:0;align-self:start;max-height:100dvh;overflow:auto}}
.analysis-feedback{position:relative;overflow:hidden;border-color:var(--gold);background:var(--forest);color:var(--ivory)}
.analysis-feedback:after{content:"";position:absolute;inset:0;border:3px solid var(--gold);animation:photoAnalysis 2s ease-in-out infinite;pointer-events:none}
@keyframes photoAnalysis{0%,100%{opacity:.38}50%{opacity:.95}}
@media(prefers-reduced-motion:reduce){.analysis-feedback:after{animation:none}}

/* Authorized mobile progress and approval hierarchy; desktop presentation unchanged. */
@media(max-width:1000px){
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;white-space:nowrap}.skip:focus{z-index:200}
.progress{display:none!important}
#mobile-progress{padding:12px 24px;border-bottom:1px solid var(--line)}
#mobile-progress summary{list-style:none;cursor:pointer;text-align:center;font:22px/1.15 Cormorant,serif;min-height:44px}#mobile-progress summary::-webkit-details-marker{display:none}
.mobile-progress-pips{display:flex;justify-content:space-between;position:relative;margin-bottom:6px}.mobile-progress-pips:before{content:'';position:absolute;left:21px;right:21px;top:21px;height:1px;background:var(--line)}
.mobile-progress-pips span{display:grid;place-items:center;position:relative;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--ivory)}.mobile-progress-pips .completed{border-color:var(--forest)}.mobile-progress-pips .current{background:var(--forest);border-color:var(--forest);color:var(--ivory)}
#mobile-progress nav{display:grid;gap:8px;margin-top:12px}#mobile-progress nav button{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:12px}#mobile-progress nav small{font:12px Manrope,sans-serif}#mobile-progress nav [aria-current]{border-color:var(--forest)}
body:has(#screen[data-view="compositions"]) .center{padding:16px 24px}body:has(#screen[data-view="compositions"]) .photo{max-height:none;aspect-ratio:1;object-fit:contain}
.mobile-approval-actions{display:grid;gap:12px;margin-top:16px}.mobile-approval-actions h3,.mobile-approval-actions p{margin:0}.mobile-approval-actions .primary{margin:0}.mobile-approval-actions button{width:100%}
body:has(#screen[data-view="compositions"]) nav.sizes{display:flex;flex-wrap:nowrap;gap:8px}body:has(#screen[data-view="compositions"]) nav.sizes button{flex:1;min-width:0;padding:10px 12px}body:has(#screen[data-view="compositions"]) #order-example{width:100%}
.review-utilities{border-top:1px solid var(--line);padding-top:12px}.review-utilities button{font-size:20px;background:transparent;color:var(--soft)}
}

/* October 21 focused Wizard usability corrections. */
#cancel-gift-dialog{max-width:580px;width:calc(100% - 32px);padding:24px;border:1px solid var(--line);border-radius:4px;background:var(--ivory);color:var(--ink)}
#cancel-gift-dialog::backdrop{background:#29261f80}#cancel-gift-dialog p{font:24px/1.3 Cormorant,serif}#cancel-gift-dialog .primary{width:auto;margin:0;clip-path:none;font-size:22px;min-height:44px;padding:10px 16px}
#screen>.gift-favorite{width:fit-content;max-width:100%;margin:0 0 16px;min-height:44px}
@media(min-width:1001px){
#workspace button:not(.tile):not([data-feature]):not([data-product-select]):not([data-silo]):not([data-step]){width:fit-content;min-width:0;max-width:100%;padding-left:16px;padding-right:16px}
#workspace button:not(.tile):not([data-feature]):not([data-product-select]):not([data-silo]):not([data-step]):not(#choose-photo){align-self:flex-start}
#workspace .primary{clip-path:none}#workspace .context-body{flex:none}
body:has(#screen[data-view="effects"]) #workspace{grid-template-columns:minmax(220px,2fr) minmax(0,6fr) minmax(280px,3fr);align-items:start}
body:has(#screen[data-view="effects"]) .left-rail{padding:24px;max-height:calc(100dvh - 24px)}
body:has(#screen[data-view="effects"]) .right-rail{padding:24px;max-height:none;overflow:visible}
body:has(#screen[data-view="effects"]) .right-rail .primary{order:0}
body:has(#screen[data-view="effects"]) .context-image{max-height:180px}
body:has(#screen[data-view="effects"]) .palette{max-height:calc(100dvh - 320px);overflow-y:auto}
body:has(#screen[data-view="review"]) #workspace{grid-template-columns:minmax(220px,2fr) minmax(0,7fr) minmax(240px,3fr);align-items:start}
body:has(#screen[data-view="review"]) .left-rail{padding:24px}
}
@media(max-width:1000px){#cancel-gift-dialog .actions{display:grid;grid-template-columns:1fr}#cancel-gift-dialog .actions button{width:100%}body:not(.gift-pivot):has(#screen[data-view="effects"]) .right-rail>.context-body>.context-image,body:not(.gift-pivot):has(#screen[data-view="effects"]) .right-rail>.context-body>h2{display:none}}

@media(min-width:1001px){body:has(#screen[data-view="effects"]) .context-image{max-height:100px}body:has(#screen[data-view="effects"]) .tray{max-width:240px}body:has(#screen[data-view="effects"]) .right-rail h2{font-size:32px;margin-bottom:12px}body:has(#screen[data-view="effects"]) .right-rail .context-body>p{margin-bottom:12px}body:has(#screen[data-view="effects"]) .left-rail h1{font-size:46px}body:has(#screen[data-view="effects"]) .left-rail #back,body:has(#screen[data-view="effects"]) .left-rail #new-gift{margin-top:12px}}

@media(max-width:1000px){body:has(#screen[data-view="effects"]) .left-rail{padding:16px 24px;display:block}body:has(#screen[data-view="effects"]) .left-rail h1{font-size:32px;margin-bottom:8px}body:has(#screen[data-view="effects"]) .left-rail h1 br{display:inline-block;width:.2em}body:has(#screen[data-view="effects"]) .left-rail>p{margin-bottom:8px}body:has(#screen[data-view="effects"]) .left-rail #back,body:has(#screen[data-view="effects"]) .left-rail #new-gift{display:inline-block;min-width:0;margin:4px 8px 8px 0;padding:10px 16px;font-size:22px}body:has(#screen[data-view="effects"]) .tray-slot:empty{display:none}body:has(#screen[data-view="effects"]) .center{padding-top:16px}body:has(#screen[data-view="effects"]) .center>p.small{margin-bottom:8px}}

/* October 22: consistent stage rails; artwork keeps its intrinsic proportions. */
#left #back:disabled{display:none}
#left #studio-back,#left>.actions button{background:var(--ivory);color:var(--ink);margin-top:12px}
#screen:is([data-view="review"],[data-view="focus"],[data-view="compare"]) img{aspect-ratio:1;object-fit:contain;height:auto;max-height:none;background:transparent}
#screen:is([data-view="review"],[data-view="compare"]) .tile{align-self:start;background:transparent}
#screen[data-view="focus"]>.photo{max-height:calc(100dvh - 300px);object-fit:contain}
.right-rail.artwork-actions{background:var(--forest);color:var(--ivory);border:1px solid var(--gold);margin:24px;align-self:start;padding:24px;border-radius:4px}
.artwork-actions h2{font-size:32px;margin-bottom:16px}.artwork-actions .actions{display:grid;gap:12px}
.artwork-actions button.secondary{color:var(--ivory);border-color:var(--gold);text-align:left}
#workspace .artwork-actions>.primary{background:var(--ivory);color:var(--forest);font-size:24px;min-height:52px;padding:12px 16px;order:-1;margin:0;clip-path:none}
.artwork-actions .small{color:var(--ivory)}
body:has(#screen[data-view="products"]) .product-studio{display:block;max-width:none;margin:0;padding:0}
body:has(#screen[data-view="products"]) .product-studio[data-step="product"]>.studio-media{display:none}
body:has(#screen[data-view="products"]) .studio-products{grid-template-columns:repeat(3,minmax(0,1fr))}
body:has(#screen[data-view="products"]) .studio-panel{padding:0;min-width:0}
body:has(#screen[data-view="products"]) .studio-media img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
body:has(#screen[data-view="products"]) .right-rail{display:flex;flex-direction:column;align-items:stretch}
@media(min-width:1001px){
body:has(#screen:is([data-view="review"],[data-view="focus"],[data-view="compare"],[data-view="products"])) #workspace{grid-template-columns:minmax(220px,2fr) minmax(0,6fr) minmax(300px,3fr);align-items:start}
body:has(#screen:is([data-view="review"],[data-view="focus"],[data-view="compare"],[data-view="products"])) .left-rail{padding:24px;align-self:stretch}
body:has(#screen:is([data-view="review"],[data-view="focus"],[data-view="compare"],[data-view="products"])) .left-rail h1{font-size:38px;margin:0 0 20px}
body:has(#screen:is([data-view="review"],[data-view="focus"],[data-view="compare"],[data-view="products"])) .left-rail :is(.eyebrow,.rule,.tagline){display:none}
body:has(#screen:is([data-view="review"],[data-view="focus"],[data-view="compare"])) .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
body:has(#screen:is([data-view="review"],[data-view="focus"],[data-view="compare"],[data-view="products"])) .left-rail{padding:16px 24px;display:block}
body:has(#screen:is([data-view="review"],[data-view="focus"],[data-view="compare"],[data-view="products"])) .left-rail h1{font-size:32px;margin:0 0 12px}
body:has(#screen:is([data-view="review"],[data-view="focus"],[data-view="compare"],[data-view="products"])) .left-rail :is(.eyebrow,.rule,.tagline){display:none}
body:has(#screen:is([data-view="review"],[data-view="focus"],[data-view="compare"],[data-view="products"])) .left-rail button{margin:4px 8px 4px 0;min-width:0;font-size:20px;padding:10px 16px}
body:has(#screen:is([data-view="review"],[data-view="focus"],[data-view="compare"],[data-view="products"])) .left-rail>.actions{display:inline-flex;margin:0}
.right-rail.artwork-actions{margin:16px;padding:20px}.artwork-actions .actions{grid-template-columns:1fr 1fr}.artwork-actions .actions button{font-size:20px;padding:10px;min-width:0}
body:has(#screen[data-view="products"]) .studio-products{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.artwork-actions>.context-body{display:contents}.artwork-actions h2{order:-2}

.artwork-actions p:empty{display:none}
/* Approved Gift Shop screens: Upload, Choose Effect, Product Choice, Product Details. */
body.gift-pivot:has(#screen) #workspace{grid-template-columns:21fr minmax(0,41fr) minmax(0,38fr);align-items:stretch;min-height:calc(100dvh - 220px)}
.gift-pivot .left-rail{padding:32px 40px;display:flex;flex-direction:column;align-items:flex-start;max-height:none!important}
.gift-pivot .left-rail h1{font-size:56px!important;line-height:1.3;margin:0 0 48px!important}
.gift-pivot .left-rail p{font-size:24px;line-height:1.25}
.gift-pivot .left-rail .tagline{display:none}
.gift-pivot #filters{width:100%;margin-top:auto;margin-bottom:40px;overflow:visible;flex:none}
.gift-pivot #filters h2{font-size:32px;color:var(--ivory);margin-bottom:24px}
.gift-pivot #workspace #filters .filters{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0}
.gift-pivot .filters button{background:var(--ivory);color:var(--forest);font-size:20px;padding:8px;min-height:48px;border:1px solid var(--line);justify-content:flex-start}
.gift-pivot .filters button[aria-pressed=true]{background:var(--wine);color:var(--ivory);border:1px solid var(--gold)}
.gift-pivot #pivot-start,.gift-pivot #back,.gift-pivot #studio-back,.gift-pivot #change-effect{border:1px solid var(--gold);border-radius:4px;margin-top:24px;background:var(--ivory);color:var(--forest);font-size:28px}
.gift-pivot #pivot-start{margin-top:auto}
.gift-pivot .left-rail .actions button{background:var(--ivory);color:var(--forest);border-color:var(--gold)}
.gift-pivot #back:disabled{display:none}
.gift-pivot .center{padding:20px 40px 0}
.gift-pivot #screen{min-width:0}
.gift-pivot:has(#screen:is([data-view="photo"],[data-view="effects"])) #screen,.gift-pivot[data-pivot-step="product"] #screen{border:4px dotted var(--gold);padding:32px 40px;min-height:calc(100dvh - 244px)}
.gift-pivot #screen .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px}
.gift-pivot #screen .palette{max-height:calc(100dvh - 320px);overflow:auto;padding:4px}
.gift-pivot #screen .tile img{background:transparent;border-radius:0;aspect-ratio:1;object-fit:contain}
.gift-pivot #screen .tile[aria-pressed=true]:after{display:none}
.gift-pivot #screen .tile span{font-size:20px}
.gift-pivot:has(#screen[data-view="effects"]) .right-rail{background:#b1ac9f;padding:24px 40px;display:flex;flex-direction:column;align-items:center;gap:24px}
.gift-pivot:has(#screen[data-view="effects"]) .right-rail h2{font-size:44px;color:var(--wine);border-bottom:1px solid var(--gold);margin-bottom:24px;align-self:stretch}
.gift-pivot:has(#screen[data-view="effects"]) .context-image{max-height:none!important;width:100%;aspect-ratio:1;object-fit:contain;border:4px solid var(--gold);border-radius:4px}
.gift-pivot .context-body{width:100%}
.gift-pivot #workspace .primary{clip-path:none;width:fit-content;min-width:0;margin:8px auto 0;align-self:center;font-size:28px;min-height:56px}
.gift-pivot:has(#screen[data-view="products"])[data-pivot-step="product"] #workspace{grid-template-columns:21fr minmax(0,79fr)}
.gift-pivot[data-pivot-step="product"]:has(#screen[data-view="products"]) #right{display:none}
.gift-pivot[data-pivot-step="product"] .center{padding:20px 8% 0 5%}
.gift-pivot[data-pivot-step="product"] #screen{padding:64px 56px}
.gift-pivot:has(#screen[data-view="products"]) .studio-products{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gift-pivot .studio-products button{padding:8px;min-width:0;justify-content:flex-start}
.gift-pivot .studio-products img{aspect-ratio:1;width:100%;object-fit:contain}
.gift-pivot .studio-products span{font-size:24px;flex:none}
.gift-pivot .studio-products small{margin:8px 0}
.gift-pivot .studio-media{position:static}
.gift-pivot .studio-media img{width:100%;max-width:none;max-height:none;aspect-ratio:1;object-fit:contain}
.gift-pivot:has(#screen[data-view="photo"]) #workspace{grid-template-columns:21fr minmax(0,54fr) minmax(0,25fr)}
.gift-pivot:has(#screen[data-view="photo"]) #screen>h2{text-align:center;font-size:46px;margin:0}
.gift-pivot:has(#screen[data-view="photo"]) .left-rail h1{margin-bottom:0!important}
.gift-pivot:has(#screen[data-view="photo"]) .left-rail .eyebrow{font-size:14px;margin-bottom:30px}
.gift-pivot .upload{margin:100px auto 0;max-width:720px;min-height:400px;background:#ded8cd;border:1px solid var(--gold);border-radius:8px;padding:48px 24px;gap:24px}
.gift-pivot .upload .upload-icon{width:100px;height:100px;margin:0;color:var(--sage)}
.gift-pivot .upload-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.gift-pivot .upload p{margin:0;font-size:26px}
.gift-pivot #workspace #choose-photo{background:var(--wine);color:var(--ivory);margin:8px auto 0;align-self:center}
.gift-pivot .upload p.small{font:14px/1.5 Manrope,sans-serif}
.gift-pivot:has(#screen[data-view="photo"]) .right-rail{padding:40px}
.gift-pivot:has(#screen[data-view="photo"]) .tips li{margin:18px 0}
body.gift-pivot:has(#screen[data-view="products"]):not([data-pivot-step="product"]) #workspace{grid-template-columns:21fr minmax(0,48fr) minmax(0,31fr)}
.gift-pivot:has(#screen[data-view="products"]) .product-studio{display:block;padding:0}
.gift-pivot:has(#screen[data-view="products"]):not([data-pivot-step="product"]) .center{padding:32px 48px}
.gift-pivot[data-pivot-step="product"] .studio-panel>h2,.gift-pivot .studio-panel>.actions:empty{display:none}
.gift-pivot:has(#screen[data-view="products"]) .right-rail{padding:32px 40px}
.gift-pivot .studio-panel h2{color:var(--wine);font-size:44px;margin-bottom:24px}
@media(max-width:1000px){
.gift-pivot .studio-panel .sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gift-pivot #workspace .studio-panel .sizes button{width:100%;min-width:0;font-size:28px;min-height:64px}

 body.gift-pivot:has(#screen) #workspace,.gift-pivot:has(#screen[data-view="photo"]) #workspace,.gift-pivot:has(#screen[data-view="products"])[data-pivot-step="product"] #workspace,body.gift-pivot:has(#screen[data-view="products"]):not([data-pivot-step="product"]) #workspace{grid-template-columns:minmax(0,1fr);min-height:0}
 .gift-pivot .left-rail{padding:16px 24px!important;display:block!important}
 .gift-pivot .left-rail h1{font-size:32px!important;line-height:1.1;margin:0 0 12px!important}
 .gift-pivot .left-rail h1 br{display:inline-block;width:.2em}
 .gift-pivot #filters{margin:16px 0}
 .gift-pivot #filters h2{font-size:26px;margin:0 0 12px}
 .gift-pivot #pivot-start,.gift-pivot #back,.gift-pivot #studio-back,.gift-pivot #change-effect{margin:8px 8px 0 0;min-width:0;font-size:22px;display:inline-block}
 .gift-pivot .center,.gift-pivot[data-pivot-step="product"] .center,.gift-pivot:has(#screen[data-view="products"]):not([data-pivot-step="product"]) .center{padding:16px}
 .gift-pivot:has(#screen:is([data-view="photo"],[data-view="effects"])) #screen,.gift-pivot[data-pivot-step="product"] #screen{padding:16px;border-width:2px;min-height:0}
 .gift-pivot #screen .grid,.gift-pivot:has(#screen[data-view="products"]) .studio-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .gift-pivot #screen .palette{max-height:440px;padding:4px}
 .gift-pivot:has(#screen[data-view="effects"]) .right-rail,.gift-pivot:has(#screen[data-view="photo"]) .right-rail,.gift-pivot:has(#screen[data-view="products"]) .right-rail{padding:24px}
 .gift-pivot:has(#screen[data-view="effects"]) .right-rail h2,.gift-pivot .studio-panel h2{font-size:32px}
 .gift-pivot #workspace .primary{width:100%;font-size:26px}
 .gift-pivot .upload{margin:24px auto 0!important;min-height:0;padding:24px 16px!important;gap:16px}
 .gift-pivot .upload .upload-icon{width:72px;height:72px}
 .gift-pivot:has(#screen[data-view="photo"]) #screen>h2{font-size:32px}
 .gift-pivot .upload p{font-size:22px}
 .gift-pivot .studio-products span{font-size:22px}
 .gift-pivot .progress{display:none}
}


.gift-pivot .product-guidance{background:var(--sage);color:var(--ivory);padding:24px;margin:32px 0}.gift-pivot .product-guidance p{font:28px/1.4 Cormorant,serif;margin:0}

@media(min-width:1001px){.gift-pivot .studio-media img{max-height:calc(100dvh - 300px);width:auto;max-width:100%;margin:auto}}
/* Seven-stage product-first journey; scoped away from legacy and Print Shop. */
.gift-pivot:has(#screen:is([data-view="generation"],[data-view="acceptance"])) #workspace{grid-template-columns:21fr minmax(0,49fr) minmax(0,30fr)}
.gift-pivot:has(#screen:is([data-view="generation"],[data-view="acceptance"])) .gift-feature-image{display:block;width:100%;height:auto;max-height:calc(100dvh - 280px);object-fit:contain;margin:auto}
.gift-pivot .craft-progress{min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}
.gift-pivot .craft-gears{font:120px/1 Manrope,sans-serif;color:var(--sage);animation:craft-turn 8s linear infinite;margin-bottom:32px}
.gift-pivot .craft-gears span{display:inline-block;font-size:72px;animation:craft-turn 6s linear infinite reverse}
@keyframes craft-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.gift-pivot .craft-gears,.gift-pivot .craft-gears span{animation:none}}
.gift-pivot .composition-history{display:flex;gap:12px;overflow-x:auto;padding:4px}
.gift-pivot .composition-history button{width:88px;flex:none;padding:4px}
.gift-pivot .composition-history img{width:100%;aspect-ratio:1;object-fit:contain;display:block}
.gift-pivot .composition-history button[aria-pressed=true]{border:2px solid var(--gold)}
.gift-pivot .saved-compositions{margin-top:24px;width:100%}
.gift-pivot .development-note{border:1px solid var(--gold);padding:16px;background:var(--ivory)}
.gift-pivot #workspace .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.gift-pivot #workspace .actions button{width:auto;padding-inline:16px}
.gift-pivot:has(#screen[data-view="photo"]) .upload{display:flex;flex-direction:column;align-items:center;justify-content:center}
.gift-pivot #workspace #choose-photo{width:auto;min-width:0;flex:none}
.gift-pivot #demo-photo{display:block;margin:24px auto}
.gift-pivot:has(#screen[data-view="checkout"]) #gift-disclosure p{font:22px/1.4 Cormorant,serif}
.gift-pivot:has(#screen[data-view="checkout"]) .left-rail{overflow:visible}
.gift-pivot .field:has(#copies){max-width:110px}
@media(max-width:1000px){
 .gift-pivot:has(#screen:is([data-view="generation"],[data-view="acceptance"])) #workspace{grid-template-columns:minmax(0,1fr)}
 .gift-pivot:has(#screen:is([data-view="generation"],[data-view="acceptance"])) .gift-feature-image{max-height:none}
 .gift-pivot .craft-progress{min-height:320px;padding:24px}
 .gift-pivot .right-rail{padding:24px}
 .gift-pivot #workspace .actions button{flex:1;min-width:120px}
 .gift-pivot #workspace .primary{min-height:48px}
}
.gift-pivot #workspace #right .composition-history button{width:88px;min-width:88px;max-width:88px;flex:0 0 88px;padding:4px;display:block}
.gift-pivot #workspace #right .composition-history img{width:76px;height:76px;max-width:100%;object-fit:contain}
@media(max-width:1000px){
 .gift-pivot #workspace #filters .filters{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:8px}
 .gift-pivot #workspace #filters .filters button{flex:0 0 auto;max-width:190px;white-space:nowrap}
 .gift-pivot #filters h2{margin-bottom:8px}
 .gift-pivot #filters{margin:8px 0}
 .gift-pivot #screen .palette{max-height:380px}
}
@media(max-width:1000px){.gift-pivot #workspace #filters .filters{flex-direction:row!important;max-width:100%;width:100%}.gift-pivot #workspace #filters .filters button{width:auto;min-width:120px}}
/* Shared stage sizing and navigation for the product-first Gift Wizard. */
.gift-pivot #workspace .stage-navigation{display:flex;flex-direction:column;gap:12px;margin-top:auto;padding-top:24px;flex-shrink:0}
.gift-pivot #workspace #left .stage-navigation button{width:fit-content;min-width:0;max-width:100%;margin:0;padding:10px 16px;font-size:26px;align-self:flex-start}
.gift-pivot #workspace button{padding-inline:16px}
.gift-pivot #workspace #right .context-body{flex:none}
.gift-pivot #workspace #right .primary{margin:0;align-self:flex-start}
.gift-pivot #workspace #right .actions{margin:0;flex-direction:column;align-items:flex-start}
.gift-pivot #workspace #right .actions button{flex:none}
.gift-pivot #status:not(:empty){font-size:12px;padding:0 0 12px}
@media(min-width:1001px){
 body.gift-pivot:has(#screen) #workspace{height:var(--stage-height,calc(100dvh - 214px));min-height:0;align-items:stretch;overflow:hidden}
 body.gift-pivot #workspace>#left{height:100%;min-height:0;overflow:hidden;padding:28px 24px;display:flex;flex-direction:column;position:static}
 body.gift-pivot #workspace>.center,body.gift-pivot #workspace>#right{height:100%;min-height:0;overflow-y:auto;padding:28px 32px;overscroll-behavior:contain}
 body.gift-pivot #workspace #left h1{font-size:48px!important;line-height:1.12;margin-bottom:24px!important;flex-shrink:0}
 body.gift-pivot #workspace #left #filters{margin:0;min-height:0;overflow:auto;flex:1}
 body.gift-pivot #workspace #left #filters h2{font-size:28px;margin-bottom:12px}
 body.gift-pivot #workspace #left #filters button{font-size:18px;padding:8px;min-height:44px}
 body.gift-pivot #workspace #screen{min-height:0;padding:0;border:0}
 body.gift-pivot #workspace #screen .palette{max-height:none;overflow:visible}
 body.gift-pivot #workspace .upload{margin-top:48px;min-height:360px;padding:32px 24px}
 body.gift-pivot #workspace .gift-feature-image{max-height:calc(var(--stage-height) - 80px);object-fit:contain}
 body.gift-pivot #workspace .studio-media img{max-height:calc(var(--stage-height) - 56px);object-fit:contain}
}
@media(max-width:1000px){
 body.gift-pivot #workspace{height:auto;overflow:visible;min-height:0}
 body.gift-pivot #workspace #left{padding:16px 24px!important;min-height:0}
 body.gift-pivot #workspace #left h1{margin-bottom:12px!important}
 body.gift-pivot #workspace .stage-navigation{flex-direction:row;gap:12px;padding-top:8px;flex-wrap:wrap}
 body.gift-pivot #workspace #left .stage-navigation button{font-size:22px;min-height:44px}
 body.gift-pivot #workspace>.center,body.gift-pivot #workspace>#right{padding:24px;min-width:0}
 body.gift-pivot #workspace #right .primary{width:100%;max-width:100%}
 body.gift-pivot #workspace #right .actions{width:100%;gap:12px}
 body.gift-pivot #workspace #right .actions button{width:100%;min-width:0}
 body.gift-pivot #workspace .gift-feature-image{max-height:none;width:100%;height:auto;object-fit:contain}
}
.gift-pivot #workspace .tile{padding:0}
@media(min-width:1001px){body.gift-pivot #workspace{flex-shrink:0}body.gift-pivot #workspace #screen{min-height:0!important}body.gift-pivot #workspace .context-image{max-height:calc(var(--stage-height) - 200px)!important}}
@media(min-width:1001px){body.gift-pivot #workspace .gift-feature-image{max-height:calc(var(--stage-height) - 110px)!important}}
.gift-pivot #workspace #left .stage-fixture-note{font:12px/1.5 Manrope,sans-serif;margin:12px 0}
.gift-pivot #workspace .studio-products button{padding:8px}
@media(min-width:1001px){.gift-pivot #workspace .stage-guidance{min-height:0;overflow:auto;flex:1}.gift-pivot #workspace .stage-navigation{margin-top:0}.gift-pivot #workspace #left .stage-guidance:has(#filters){display:flex;flex-direction:column}}
@media(max-width:1000px){.gift-pivot #workspace .stage-guidance{min-width:0}.gift-pivot #workspace .stage-navigation{margin-top:0}}
.gift-pivot #workspace .studio-panel .sizes button[aria-pressed="true"]{background:var(--wine);border-color:var(--wine);color:var(--ivory)}

/* Match My Collection action-control radius; image tiles remain square. */
body #workspace button:not(.tile):not([data-feature]),body #cancel-gift-dialog button,body #mobile-step-menu button{border-radius:8px;clip-path:none}
body #workspace .tile,body #workspace .product,body #workspace .studio-products button,body #workspace .product-guidance,body #workspace .artwork-actions{border-radius:5px}
body #workspace #screen .tile img,body #workspace .studio-products img{border-radius:5px}
/* Approved October 24 revisions: shared rails, compact media and complete effect library. */
.gift-pivot #workspace #right{display:flex;flex-direction:column;gap:16px}
.gift-pivot #workspace #right h2{color:var(--wine);padding-bottom:16px;border-bottom:1px solid var(--gold);margin-bottom:0}
.gift-pivot #workspace #right h3,.gift-pivot #workspace #right p{margin-bottom:0}
.gift-pivot #workspace #right .actions{gap:12px}
.gift-pivot #workspace #left h1:after{content:'';display:block;width:96px;height:1px;background:var(--gold);margin-top:24px}
.gift-pivot #workspace .effect-library section{scroll-margin-top:16px;margin-bottom:32px}
.gift-pivot #workspace .effect-library h2{font-size:28px;margin:0 0 16px;color:var(--wine)}
.gift-pivot #workspace .effect-library .grid{align-items:start}
.gift-pivot #workspace .effect-library .tile img{aspect-ratio:1;object-fit:contain}
.gift-pivot #workspace .analysis-feedback h2{color:var(--forest)}
.gift-pivot #workspace:has([data-view="entry"]){grid-template-columns:21% 34% 45%}
.gift-entry-intro{border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:5px;padding:32px;background:var(--ivory)}
.gift-entry-intro p:not(.eyebrow){font:26px/1.4 Cormorant,serif}
.gift-entry-intro button{background:var(--forest);color:var(--ivory);font-size:28px}
.gift-entry-list{display:grid;gap:20px}
.gift-entry-card{padding:20px;border:1px solid var(--line);border-radius:5px}
.gift-entry-card h3{font-size:28px;margin:12px 0 8px}
.gift-entry-images{display:flex;gap:12px;align-items:center}
.gift-entry-images img{width:calc((100% - 24px)/3);aspect-ratio:1;object-fit:contain;border-radius:5px;max-height:144px}
.gift-pivot #workspace .gift-entry-card .actions{flex-direction:row!important;flex-wrap:wrap;margin-top:16px!important}
.gift-entry-card [data-resume-gift]{background:var(--forest);color:var(--ivory)}
.entry-account{display:block;width:fit-content;font:22px/1.3 Cormorant,serif;border:1px solid var(--line);border-radius:8px;padding:10px 16px;margin-top:16px;text-decoration:none}
@media(min-width:1001px){
 body.gift-pivot #workspace .upload{width:78%;max-width:560px;min-height:300px;margin:40px auto 0;padding:28px 24px}
 body.gift-pivot:has(#screen[data-view="effects"]) #workspace #right .context-image{width:min(90%,calc(var(--stage-height) - 240px));align-self:center;max-height:calc(var(--stage-height) - 240px)!important;object-fit:contain}
 body.gift-pivot #workspace .studio-media{display:flex;align-items:flex-start;justify-content:center}
 body.gift-pivot #workspace .studio-media img{width:90%;max-height:calc(var(--stage-height) - 112px);object-fit:contain}
 body.gift-pivot #workspace #right .primary{max-width:100%;white-space:normal}
}
@media(max-width:1000px){
 .gift-pivot #workspace:has([data-view="entry"]){grid-template-columns:1fr}
 .gift-pivot #workspace .upload{width:100%;min-height:260px;margin:24px auto;padding:24px 16px}
 .gift-pivot #workspace .effect-library{max-height:440px!important;overflow:auto!important}
 .gift-entry-intro{padding:24px}
 .gift-pivot #workspace .gift-entry-card .actions button{width:auto}
}

/* Beauty photographs preserve their native ratio and match the square long side. */
body.gift-pivot #workspace .studio-media img,body.gift-pivot #workspace #screen .gift-feature-image{aspect-ratio:auto;height:auto;object-fit:contain}
@media(min-width:1001px){
 body.gift-pivot #workspace .studio-media img{width:min(90%,calc(var(--stage-height) - 112px));max-height:none}
 body.gift-pivot #workspace #screen .gift-feature-image{width:min(100%,calc(var(--stage-height) - 80px));max-height:none!important;height:auto}
}
@media(max-width:1000px){
 body.gift-pivot #workspace .studio-media img{width:100%;max-height:none;height:auto}
}

/* Gift-only finish choices use the existing option treatment without stretching. */
.gift-pivot #workspace #right .studio-panel .frame-finishes{display:flex;flex-wrap:wrap}
.gift-pivot #workspace #right .studio-panel .frame-finishes button{width:auto;flex:0 0 auto;padding-left:16px;padding-right:16px}

/* Both views share one print wrap; no view change alters the composition. */
.gift-pivot #workspace #screen .mug-review{width:100%;align-self:start}
.gift-pivot #workspace #screen .mug-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gift-pivot #workspace #screen .mug-pair figure{margin:0;text-align:center}
.gift-pivot #workspace #screen .mug-review img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border:0;box-shadow:none;background:transparent}
.gift-pivot #workspace #screen .mug-review figcaption,.gift-pivot #workspace #screen .mug-review summary{font-size:22px}
.gift-pivot #workspace #screen .mug-review summary{cursor:pointer;padding:12px 16px}
@media(max-width:600px){.gift-pivot #workspace #screen .mug-pair{grid-template-columns:minmax(0,1fr)}}

/* Compact mobile Cart and Review header — owner revision 2026-10-26. */
@media(max-width:1000px){
 .gift-pivot #mobile-progress.mobile-stage-heading{background:var(--sage);color:var(--ivory);border:0;font:400 26px/1.15 Cormorant,serif;padding:12px 24px 8px}
 .gift-pivot:has(#screen:is([data-view="cart"],[data-view="generation"],[data-view="acceptance"])) #left{padding:0 24px 12px!important;min-height:0}
 .gift-pivot:has(#screen:is([data-view="cart"],[data-view="generation"],[data-view="acceptance"])) #left>.stage-guidance{display:none!important}
 .gift-pivot:has(#screen:is([data-view="cart"],[data-view="generation"],[data-view="acceptance"])) #workspace #left .stage-navigation{padding-top:0;gap:8px}
 .gift-pivot:has(#screen:is([data-view="cart"],[data-view="generation"],[data-view="acceptance"])) #workspace #left .stage-navigation button{font-size:18px;padding:8px 12px;margin:0;min-width:0;min-height:44px}
 .gift-pivot #screen[data-view="cart"]>h2{display:none}
}

/* Restoration uses the existing branded loading mark, without empty stage rails. */
body.gift-restoring #workspace{display:block;position:relative}
body.gift-restoring #workspace>#left,body.gift-restoring #workspace>#right{display:none}
body.gift-restoring #workspace>.center{width:100%;border:0}
body.gift-restoring .progress,body.gift-restoring #mobile-progress{display:none}

/* Owner QA: compact cart, feature controls and source-photo overlay. */
#screen[data-view="cart"] .cart-details>.small,#screen[data-view="cart"] .cart-details>.row{display:none}
#screen[data-view="cart"] .cart-details h3{display:flex;flex-direction:row-reverse;justify-content:space-between;gap:16px;margin-bottom:12px;font-size:24px}
.cart-effect{font:400 22px/1.15 Cormorant,serif}
.cart-feature-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--gold);margin-bottom:12px}
.cart-feature-heading h2{border:0!important;margin:0 0 12px}.cart-feature-heading>span{font:400 28px/1.15 Cormorant,serif;color:var(--sage)}
[data-cart-controls] .row{flex-wrap:wrap;justify-content:flex-start;margin-top:12px}
.effect-feature-photo{position:relative;width:100%}
body.gift-pivot:has(#screen[data-view="effects"]) #workspace #right .effect-feature-photo .context-image{display:block;width:100%;max-height:none!important}
#workspace #right .effect-source-overlay{position:absolute;right:8px;top:8px;width:24%;height:auto;max-height:28%;object-fit:contain;border:2px solid var(--gold);background:var(--ivory)}
@media(min-width:1001px){body.gift-pivot:has(#screen[data-view="cart"]) #workspace>.center,body.gift-pivot:has(#screen[data-view="cart"]) #workspace>#right{display:block;overflow-y:auto;height:var(--stage-height);min-height:0}body.gift-pivot #workspace #right .effect-feature-photo{width:min(90%,calc(var(--stage-height) - 240px));margin-inline:auto}}
@media(max-width:1000px){#screen[data-view="cart"] .cart-details h3{font-size:22px;flex-wrap:wrap}.cart-effect{font-size:20px}}

@media(min-width:1001px){body.gift-pivot:has(#screen[data-view="cart"]) #workspace #right .cart-inspection img{max-height:calc(var(--stage-height) - 240px);width:auto;max-width:100%;margin:auto}body.gift-pivot:has(#screen[data-view="cart"]) #workspace #right .cart-inspection{margin:0}}

/* Existing series icon buttons, discovery-consolidated-draft.next.html:512-520. */
.icon-nav__item{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  color:#d9c9a8; cursor:pointer; border:none; background:transparent; font-family:var(--sans);
  border-bottom:3px solid transparent; padding:0 4px;
}
.icon-nav__item svg{ width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.5 }
.icon-nav__item img{ width:var(--nav-icon); height:var(--nav-icon); object-fit:contain }
.icon-nav__item span{ font-size:1.1em; white-space:normal; text-align:center; line-height:1.15 }
.icon-nav__item.active{ color:var(--gold-soft); border-bottom-color:var(--gold-soft) }

.gift-icon-nav{--nav-icon:60px;--sans:Manrope,sans-serif;--gold-soft:#d9c9a8;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gift-icon-nav .icon-nav__item[aria-pressed=true]{color:var(--gold-soft);border-bottom-color:var(--gold-soft)}
@media(max-width:1000px){.gift-icon-nav{display:flex;overflow:auto}.gift-icon-nav .icon-nav__item{flex:0 0 auto;min-height:44px;padding:6px 10px}}
body.gift-receipt #workspace{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);height:auto;min-height:0}
body.gift-receipt #workspace>#left{display:none}
body.gift-receipt #workspace>.center,body.gift-receipt #workspace>#right{height:auto;min-height:0;padding:32px 40px;overflow:auto}
.receipt-heading{display:flex;gap:32px;align-items:center;margin-bottom:32px}.receipt-heading h1{font-size:56px}.receipt-heading h2{font-size:36px}.receipt-check{border-radius:50%;background:#d9c9a8;color:var(--forest);padding:24px;font-size:48px}.receipt-reference{margin-left:auto;text-align:right;font:16px/1.5 Manrope,sans-serif}
.receipt-next,.receipt-details{border:1px solid var(--line);border-radius:4px;padding:24px;margin:24px 0}.receipt-steps,.receipt-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.receipt-next h2,.receipt-details h2{font-size:28px}.receipt-steps h3{font-size:24px}.receipt-details p{font-size:22px;overflow-wrap:anywhere}.receipt-item{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;border-bottom:1px solid var(--line);padding:16px 0}.receipt-item img{width:112px;max-height:120px;object-fit:contain}.receipt-item h3{font-size:24px}.receipt-item p{font-size:20px}.receipt-help{margin-top:24px}.receipt-help a{font-size:22px}.gift-receipt dl{font-size:22px}.gift-receipt .actions button{width:auto;min-width:0;padding:10px 16px}
@media(max-width:1000px){body.gift-receipt #workspace{grid-template-columns:minmax(0,1fr)}body.gift-receipt #workspace>.center,body.gift-receipt #workspace>#right{padding:24px}.receipt-heading{flex-wrap:wrap;gap:16px}.receipt-heading h1{font-size:38px}.receipt-reference{margin:0;text-align:left}.receipt-steps,.receipt-details{grid-template-columns:minmax(0,1fr)}}

@media(min-width:1001px){body.gift-receipt #workspace{height:var(--stage-height)}body.gift-receipt #workspace>.center,body.gift-receipt #workspace>#right{height:100%;box-sizing:border-box}}

body.gift-pivot:has(#screen) #left #back:disabled{display:inline-block}

.receipt-check{width:96px;height:96px;flex:0 0 96px;padding:0;display:grid;place-items:center}.receipt-details:empty,.receipt-reference:empty,.gift-receipt dl:empty{display:none}.receipt-item p{margin:0 0 8px}.receipt-help h2{font-size:28px}.receipt-help a{font-family:Cormorant,serif;text-decoration:none}

@media(min-width:1001px){body.gift-pivot:has(#screen[data-view="cart"]) #workspace>.center{display:flex;flex-direction:column}body.gift-pivot #screen[data-view="cart"]{display:flex;flex-direction:column;flex:1;min-height:0}body.gift-pivot .cart-items{flex:1;min-height:0;overflow:auto}body.gift-pivot .cart-summary{flex:none;margin-top:16px;padding-top:16px}body.gift-pivot .cart-summary h2{font-size:32px;margin-bottom:12px}body.gift-pivot #add-another{align-self:flex-start;flex:none}body.gift-pivot .cart-summary p{margin-bottom:12px}}

@media(min-width:1001px){body.gift-pivot:has(#screen[data-view="generation"]) #workspace>.center{display:block;overflow-y:auto;height:var(--stage-height);min-height:0}body.gift-pivot #screen[data-view="generation"]{display:block;height:auto;overflow:visible}}

/* Approved six-step mobile Gift journey; existing studio and wizard tokens. */
@media(max-width:1000px){
 body.gift-mobile{height:auto;overflow-y:auto;padding-bottom:112px}
 body.gift-mobile #workspace{display:block!important;height:auto!important;min-height:0;overflow:visible!important}
 body.gift-mobile #workspace>#left,body.gift-mobile .progress{display:none!important}
 body.gift-mobile #workspace>.center,body.gift-mobile #workspace>#right{display:block;height:auto!important;min-height:0;max-height:none;overflow:visible!important;padding:16px;border:0}
 body.gift-mobile #workspace #screen{display:block;height:auto;min-height:0;overflow:visible}
 body.gift-mobile #mobile-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:4px solid var(--forest);background:var(--ivory);color:var(--ink)}
 body.gift-mobile #mobile-progress>span{font:400 22px/1.15 Cormorant,serif;text-align:center}
 body.gift-mobile #mobile-progress>small{font:12px/1.5 Manrope,sans-serif;white-space:nowrap}
 body.gift-mobile #mobile-progress>button{font-size:18px;padding:8px 12px;margin:0;min-width:0;min-height:44px}
 body.gift-mobile #workspace .effect-library{max-height:none!important;height:auto!important;overflow:visible!important;padding:0;border:0;margin:12px 0}
 body.gift-mobile #workspace .effect-library .grid,body.gift-mobile #workspace .studio-products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
 body.gift-mobile #workspace .effect-library .tile{display:flex;flex-direction:column;width:100%;min-width:0;padding:8px;font-size:22px}
 body.gift-mobile #workspace .effect-library .tile img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
 body.gift-mobile #mobile-silo{width:100%;padding:10px 18px;min-height:44px;border:1px solid var(--line);border-radius:4px;background:var(--ivory);color:var(--ink)}
 body.gift-mobile #workspace .effect-feature-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
 body.gift-mobile #workspace .product-studio{display:block}
 body.gift-mobile #workspace .product-studio[data-step="product"] .studio-media{display:none}
 body.gift-mobile #workspace .studio-panel{padding:0;border:0}
 body.gift-mobile #workspace .studio-panel>.actions:empty{display:none}
 body.gift-mobile #workspace .studio-media{position:static;margin-bottom:16px}
 body.gift-mobile #workspace .studio-media img{width:100%;max-height:260px;object-fit:contain}
 body.gift-mobile #workspace .studio-products button span,body.gift-mobile #workspace .studio-products button small{visibility:visible}
 body.gift-mobile #workspace .studio-products img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
 body.gift-mobile #workspace .studio-products small{font-size:12px}
 body.gift-mobile #workspace .sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}
 body.gift-mobile #workspace .sizes button{flex:1 1 auto;min-width:0;min-height:44px;padding:10px 18px;font-size:22px}
 body.gift-mobile #workspace h2{font-size:28px;margin-bottom:16px}
 body.gift-mobile #workspace h3{font-size:22px;margin:16px 0 8px}
 body.gift-mobile #workspace .product-guidance{display:none}
 body.gift-mobile #workspace .source-holder{display:none}
 body.gift-mobile #workspace #screen[data-view="photo"]>img{width:100%;height:auto;max-height:440px;object-fit:contain}
 body.gift-mobile #workspace #screen[data-view="cart"] .cart-details>.row{display:flex;flex-wrap:wrap;gap:8px}
 body.gift-mobile #workspace .cart-line{grid-template-columns:112px minmax(0,1fr);gap:16px}
 body.gift-mobile #workspace .cart-inspection{display:none}
 body.gift-mobile #workspace .mug-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.gift-mobile #workspace .craft-progress{min-height:400px;padding:24px 0}
 body.gift-mobile .gift-mobile-action .primary{width:100%;min-height:56px;max-width:none;margin:0;font-size:24px;padding:12px 16px;clip-path:none;border-radius:4px}
 body.gift-mobile .gift-mobile-action{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
}
@media(max-width:1000px){body.gift-mobile #mobile-progress>button:disabled{display:inline-block!important}body.gift-mobile #workspace .cart-details .row{grid-column:1/-1}body.gift-mobile #workspace .cart-details .row button{font-size:18px;min-width:44px;padding:8px 12px}body.gift-mobile #workspace .cart-details .row span{width:100%}}
@media(max-width:1000px){body.gift-mobile #workspace>#right[hidden]{display:none!important}}

/* Approved large front with smaller handle-side inset; legacy layouts unchanged. */
.gift-pivot #workspace #screen .mug-approved .mug-pair{grid-template-columns:minmax(0,1fr) minmax(0,.4fr);align-items:end;gap:0}
.gift-pivot #workspace #screen .mug-approved .mug-pair figcaption{display:none}

@media(min-width:1001px){body.collection-preview.gift-pivot:has(#screen[data-view="products"])[data-pivot-step="product"] #workspace{grid-template-columns:21fr minmax(0,48fr) minmax(0,31fr)}body.collection-preview.gift-pivot[data-pivot-step="product"]:has(#screen[data-view="products"]) #right{display:flex}body.collection-preview.gift-pivot:has(#screen[data-view="products"]) .studio-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
