/* style.css */
500;600;700;800&family=Playfair+Display:ital,wght@1,500;1,600&display=swap');
:root{--blue:#2d46ee;--navy:#18244b;--ink:#24263c;--muted:#737586;--line:#e5e6ed;--paper:#fafafa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-family:'Be Vietnam Pro',Arial,sans-serif;color:var(--ink);font-size:16px;background:var(--paper)}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #df6da6;outline-offset:4px}button{border:0}img{max-width:100%;display:block}.notice{background:var(--blue);color:white;text-align:center;padding:10px 20px;font-size:12px;letter-spacing:.25px}header{max-width:1400px;margin:auto;padding:25px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line)}.brand{font-size:28px;font-weight:800;letter-spacing:-1.6px;display:flex;align-items:center;gap:9px;color:var(--navy)}.brand-icon{color:var(--blue);font-size:38px;font-weight:500;line-height:1}.brand-dot{font-size:13px;align-self:flex-start;margin-top:7px;letter-spacing:0}nav{display:flex;gap:32px;font-size:14px}nav a:hover{color:var(--blue)}.cart-button{display:flex;gap:10px;align-items:center;background:none;color:var(--ink);font-size:14px}.cart-button span{border:1px solid var(--line);border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:12px}.hero{max-width:1400px;margin:auto;padding:48px 5% 54px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:600;color:var(--blue);display:block}.hero .eyebrow{display:flex;align-items:center;gap:9px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--blue)}h1{font-size:clamp(45px,5.6vw,78px);line-height:1.12;letter-spacing:-4px;color:var(--navy);margin:28px 0 23px;font-weight:600}em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:var(--blue)}.hero-copy>p{font-size:15px;line-height:1.9;color:#626779;margin:0 0 28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;padding:17px 24px;border-radius:6px;font-size:14px;font-weight:500}.primary{background:var(--blue);color:white}.primary:hover{background:#2036c6}.button span{font-size:22px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:38px;padding-top:24px;border-top:1px solid var(--line);font-size:11px;line-height:1.7;letter-spacing:1px;color:#858999}.handwritten{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:20px;letter-spacing:0;color:var(--blue)}.hero-visual{position:relative;border-radius:12px;overflow:hidden;background:#dbe8f7;aspect-ratio:1/1}.hero-visual>img{height:100%;width:100%;object-fit:cover}.image-label{position:absolute;left:22px;bottom:37px;background:white;padding:13px 20px;border-radius:5px;font-size:14px;transform:rotate(-5deg);box-shadow:0 5px 20px #0001}.image-label span{color:var(--blue);margin-left:14px;font-size:24px}.image-caption{position:absolute;bottom:9px;right:12px;font-size:11px;color:#334766;background:#ffffffb5;padding:4px 8px;border-radius:3px}.ribbon{display:flex;align-items:center;justify-content:space-around;gap:35px;background:#edf0ff;border-top:1px solid #dce1fc;border-bottom:1px solid #dce1fc;padding:18px 4%;font-size:12px;letter-spacing:1.5px;color:var(--blue);overflow:hidden;white-space:nowrap}.ribbon b{font-size:27px;font-weight:400}.shop{max-width:1400px;margin:auto;padding:72px 5%}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px}h2{font-size:clamp(28px,3vw,40px);letter-spacing:-1.5px;font-weight:600;line-height:1.3;margin:14px 0;color:var(--navy)}.section-top>p{font-size:14px;color:var(--muted);margin:0 0 21px}.shop-controls{display:flex;justify-content:space-between;gap:20px;margin:23px 0 28px}.filters{display:flex;flex-wrap:wrap;gap:9px}.filters button{background:none;padding:10px 17px;border:1px solid var(--line);border-radius:25px;font-size:13px;color:#646779;white-space:nowrap}.filters button.active{background:var(--navy);color:white;border-color:var(--navy)}.search{display:flex;align-items:center;gap:9px;border-bottom:1px solid #bdc1cf;color:#777;min-width:180px}.search input{border:0;padding:10px 0;background:none;width:155px;font-size:13px;outline-offset:2px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 23px}.product-card{min-width:0}.product-photo{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;background:#edf0fa}.product-image{width:100%;height:100%;background-image:url('assets/catalog.png');background-size:300% 200%;background-position:var(--pos);transition:transform .3s}.product-card:hover .product-image{transform:scale(1.045)}.product-tag{position:absolute;left:14px;top:14px;border-radius:4px;background:#ffffffdf;font-size:11px;padding:7px 10px}.product-add{position:absolute;bottom:14px;right:14px;background:white;width:40px;height:40px;border-radius:50%;font-size:25px;box-shadow:0 2px 10px #0001;color:var(--navy);transition:background .2s}.product-add:hover{background:var(--blue);color:white}.product-meta{display:flex;justify-content:space-between;gap:10px;margin-top:17px}.product-meta h3{font-size:16px;margin:0 0 7px;font-weight:500}.product-meta p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.price{font-size:15px;font-weight:600;white-space:nowrap;color:var(--navy)}.price small{display:block;text-align:right;font-size:10px;font-weight:400;color:var(--muted);margin-top:7px}.catalog-note{font-size:12px;color:var(--muted);line-height:1.8;margin:28px 0 0}.how{padding:60px max(5%,calc((100vw - 1260px)/2));background:#eff2fe;display:grid;grid-template-columns:1fr 1fr;gap:65px}.how h2{margin:18px 0}.how p{font-size:14px;line-height:1.9;color:var(--muted)}.how ol{padding:0;list-style:none;margin:0}.how li{display:flex;gap:23px;padding:20px 0;border-bottom:1px solid #d8ddef}.how li:first-child{padding-top:0}.how li>span{font-size:25px;font-family:Georgia,serif;color:var(--blue)}.how h3{margin:0 0 6px;font-weight:500;font-size:17px}.how li p{margin:0;font-size:13px}.about{text-align:center;padding:68px 20px}.about>span{color:var(--blue);font-size:45px}.about h2{font-size:30px;line-height:1.6}.about p{font-size:12px;color:var(--muted)}.about>a{display:inline-block;margin-top:20px;border-bottom:1px solid var(--blue);padding-bottom:7px;font-size:14px;color:var(--blue)}footer{display:flex;gap:20px;align-items:center;padding:30px 5%;border-top:1px solid var(--line);max-width:1400px;margin:auto}footer .brand{font-size:24px}footer p{font-size:12px;color:var(--muted)}footer small{margin-left:auto;font-size:11px;color:var(--muted)}dialog{border:0;border-radius:16px;box-shadow:0 20px 100px #1113;padding:36px;max-width:calc(100vw - 30px);color:var(--ink)}dialog::backdrop{background:#0e153e99;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.close{position:absolute;right:14px;top:10px;background:none;font-size:30px;color:var(--muted);z-index:2}.custom-dialog{width:950px}.custom-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px}.preview-side{background:#f0f2fd;padding:22px;border-radius:9px}.preview{aspect-ratio:1;position:relative;margin-top:20px;overflow:hidden;border-radius:6px}.preview>.product-image{height:100%}.personal-layer{position:absolute;top:36%;left:22%;width:55%;padding:8px;background:#ffffffd9;border:1px dashed #ccd1e0;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--blue);max-height:60%;overflow:hidden}.personal-layer img{max-width:85px;max-height:70px;object-fit:contain;margin-bottom:5px}.personal-layer strong{font-size:21px;overflow-wrap:anywhere}.personal-layer span{font-size:11px;line-height:1.5;overflow-wrap:anywhere;margin-top:4px}.preview-side>p{font-size:12px;line-height:1.8;color:var(--muted)}form>p{font-size:13px;line-height:1.7;color:var(--muted)}form label{display:block;margin:16px 0;font-size:13px;font-weight:500}form label>span{font-weight:400;color:var(--muted);font-size:11px}form input:not([type=radio]),form textarea{display:block;width:100%;border:1px solid #d9dce6;border-radius:5px;padding:10px 12px;margin-top:8px;background:white;font-size:14px;color:var(--ink)}fieldset{border:0;padding:0;margin:18px 0}legend{font-size:13px}.swatches{display:flex;gap:12px}.swatches label{margin:8px 0 0;position:relative}.swatches input{position:absolute;opacity:0}.swatches span{display:block;width:29px;height:29px;border-radius:50%;background:var(--swatch);border:4px solid white;box-shadow:0 0 0 1px #ddd}.swatches input:checked+span{box-shadow:0 0 0 2px var(--blue)}.swatches input:focus-visible+span{outline:3px solid #df6da6}.upload small,form>small{font-size:11px;line-height:1.7;color:var(--muted);display:block;margin-top:7px}.purchase-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.purchase-row label{max-width:88px}.purchase-row strong{display:block;font-size:24px;color:var(--blue);margin-top:8px}.purchase-row small{font-size:11px;color:var(--muted)}.wide{width:100%}.error{color:#b52043!important}.cart-dialog{width:650px}.cart-dialog h2{font-size:30px}.cart-dialog h2 span{color:var(--blue)}.cart-item{display:grid;grid-template-columns:70px 1fr auto;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.cart-thumb{height:70px;border-radius:7px;overflow:hidden}.cart-item h3{font-size:15px;margin:0 0 7px;font-weight:500}.cart-item p{font-size:12px;color:var(--muted);margin:3px 0;overflow-wrap:anywhere}.cart-qty{display:flex;align-items:center;gap:10px;margin-top:9px;font-size:12px}.cart-qty button{width:27px;height:27px;border-radius:4px;background:#edf0ff;color:var(--blue)}.remove{background:none;font-size:11px;color:#a9475f;padding:7px 0}.item-right{text-align:right;font-size:13px}.total{display:flex;justify-content:space-between;padding:24px 0;font-size:18px}.total strong{color:var(--blue)}.empty{text-align:center;grid-column:1/-1;padding:45px 15px;color:var(--muted);line-height:1.8}.empty span{font-size:45px;color:var(--blue);display:block;margin-bottom:15px}.empty a{display:inline-block;margin-top:20px}.cart-dialog form{border-top:1px solid var(--line);padding-top:18px}.cart-dialog form h3{font-size:18px;margin:0}.success{background:#ecf5ef;color:#204d3d;padding:14px;border-radius:6px;font-size:13px;line-height:1.7;margin-top:15px}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:var(--navy);color:white;padding:14px 22px;border-radius:7px;font-size:14px;opacity:0;pointer-events:none;transition:.25s;z-index:10;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1450px){.hero{gap:70px}.hero-visual{max-height:550px}}@media(max-width:900px){header nav{gap:16px}h1{letter-spacing:-2.5px}.hero{gap:25px}.section-top>p{display:none}.filters button{padding:9px 12px}.products{gap:26px 16px}.product-meta{flex-direction:column;gap:6px}.price small{display:inline;margin-left:6px}.how{gap:30px}.custom-layout{gap:20px}.personal-layer strong{font-size:17px}}@media(max-width:650px){header{padding:20px 5%}.brand{font-size:24px}.brand-icon{font-size:32px}header nav{display:none}.cart-button{font-size:12px}.notice{font-size:10px;line-height:1.5}.hero{grid-template-columns:1fr;padding-top:32px;gap:30px}.hero-copy>p{font-size:14px}h1{font-size:57px;letter-spacing:-3px;margin:22px 0 20px}.hero-bottom{display:none}.hero-visual{aspect-ratio:1.1}.hero .eyebrow{font-size:10px;letter-spacing:1px}.hero .button{width:100%;justify-content:space-between}.ribbon{justify-content:start;gap:25px;padding:14px 5%;font-size:10px}.ribbon span:nth-of-type(n+3),.ribbon b:nth-of-type(n+3){display:none}.shop{padding:42px 5%}.section-top h2{font-size:28px}.shop-controls{flex-direction:column;gap:17px}.filters{gap:6px}.filters button{font-size:11px;padding:9px 11px}.search{align-self:stretch}.search input{width:100%;font-size:14px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.product-tag{font-size:9px;top:9px;left:9px;padding:5px 7px}.product-add{width:32px;height:32px;bottom:10px;right:10px;font-size:23px}.product-meta h3{font-size:14px}.product-meta p{font-size:11px}.price{font-size:14px}.how{grid-template-columns:1fr;gap:20px;padding:40px 5%}.how h2{font-size:32px}.how ol{margin-top:10px}.about{padding:45px 5%}.about h2{font-size:23px;letter-spacing:-.5px}.about p{line-height:1.8}footer{flex-wrap:wrap;gap:9px 20px;padding:25px 5%}footer small{width:100%;margin-left:0;line-height:1.8}.custom-dialog{padding:27px 18px}.custom-layout{grid-template-columns:1fr}.preview-side{padding:15px}.preview{max-width:280px;margin:12px auto}.preview-side>p{margin-bottom:0}.custom-layout form h2{font-size:28px}.cart-dialog{padding:35px 20px}.cart-dialog h2{font-size:25px}.cart-item{grid-template-columns:50px 1fr auto;gap:10px}.cart-thumb{height:50px}.cart-item h3{font-size:13px}.item-right{font-size:12px}.cart-dialog>.eyebrow{font-size:10px}.eyebrow{font-size:11px}.total{font-size:15px}.button{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.preview canvas{position:absolute;inset:0;width:100%;height:100%}.preview canvas[hidden]{display:none}.preview-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.preview-options span{background:white;border:1px solid #d8ddf1;border-radius:5px;padding:7px 10px;font-size:12px;color:var(--navy)}.variant-controls{padding:0 0 15px;border-bottom:1px solid var(--line);margin-bottom:16px}.variant-controls label>span{font-size:13px;color:var(--ink)}form select{display:block;width:100%;padding:11px 12px;margin-top:8px;border:1px solid #d9dce6;border-radius:5px;font:inherit;font-size:14px;background:white;color:var(--ink)}.product-colors{display:flex;flex-wrap:wrap;gap:9px}.product-color-option{position:relative;display:flex!important;align-items:center;gap:6px;margin:8px 0 0!important;padding:7px;border:1px solid var(--line);border-radius:5px;background:white}.product-color-option input{position:absolute;opacity:0}.product-color-option span{width:20px;height:20px;border-radius:50%;background:var(--swatch);border:1px solid #0002;flex-shrink:0}.product-color-option small{font-size:11px;font-weight:400}.product-color-option:has(input:checked){outline:2px solid var(--blue);border-color:transparent}.product-color-option:has(input:focus-visible){outline:3px solid #df6da6}.variant-note{display:block;font-size:11px;line-height:1.7;color:var(--muted)}.preview-side{align-self:start}.custom-dialog{max-height:calc(100dvh - 32px);overflow:auto}@media(min-width:651px){.preview-side{position:sticky;top:0}}

[hidden]{display:none!important}.variant-controls>label{display:inline-block;width:calc(50% - 8px);margin-right:8px;vertical-align:top}.unit-price strong{font-size:18px;color:var(--navy)}@media(max-width:650px){.preview-side{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:110px 1fr;gap:10px;padding:12px;background:#f0f2fd;box-shadow:0 4px 14px #17234b0c}.preview-side>.eyebrow{grid-column:1/-1;font-size:9px;letter-spacing:1px}.preview-side .preview{width:110px;margin:0;max-width:none}.preview-side .personal-layer{padding:3px}.preview-side .personal-layer strong{font-size:9px}.preview-side .personal-layer span{font-size:6px}.preview-side .personal-layer img{max-height:20px;max-width:30px}.preview-options{flex-direction:column;align-items:start;gap:5px;align-self:center;margin:0}.preview-options span{font-size:11px;padding:4px 8px}.preview-side>p{grid-column:1/-1;font-size:10px;line-height:1.5;margin:0}.purchase-row strong{font-size:20px}.custom-layout{gap:20px}}

.mockup-controls{border-top:1px solid #d8ddef;padding-top:5px;margin-top:16px}.mockup-controls label{font-size:13px}.mockup-controls .upload{margin-bottom:0}.custom-layout .custom-details>p{font-size:13px;line-height:1.7;color:var(--muted)}.custom-layout .preview-side>p{font-size:12px;line-height:1.8;color:var(--muted)}@media(max-width:650px){.custom-layout .preview-side{position:static;display:block;padding:15px}.custom-layout .preview-side .preview{width:100%;max-width:280px;margin:12px auto}.custom-layout .preview-side>.eyebrow{font-size:10px}.custom-layout .preview-side .personal-layer strong{font-size:17px}.custom-layout .preview-side .personal-layer span{font-size:11px}.custom-layout .preview-side .personal-layer img{max-height:70px;max-width:85px}.custom-layout .preview-options{flex-direction:row;margin-top:12px}.custom-layout .preview-side>p{font-size:11px;margin:12px 0}.mockup-controls{margin-top:12px}.custom-layout .preview-side .mockup-controls label{font-size:13px}}

#previewBase{background-image:url('assets/mockup-blank.webp')}.mockup-download{width:100%;padding:11px 14px;border:1px solid #cdd4fa;border-radius:6px;background:white;color:var(--blue);margin-top:14px;font-size:13px}.mockup-download:disabled{opacity:.45;cursor:wait}.mockup-remove{background:none;color:#a9475f;padding:8px 0;font-size:12px}#mockupStatus{font-size:11px;margin:8px 0;line-height:1.6}

.cart-thumb img{width:100%;height:100%;object-fit:cover}

.custom-dialog{width:1120px}.custom-layout{grid-template-columns:1.15fr 1fr}.view-tabs{display:flex;gap:5px;margin-top:18px}.view-tabs button{flex:1;padding:10px 7px;border-radius:7px;background:white;color:#626779;font-size:12px;border:1px solid #dce1f3}.view-tabs button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.preview{margin-top:12px}#editCanvas{touch-action:none;cursor:move}#threeView{position:absolute;inset:0;background:radial-gradient(circle,#fff,#e3e8f8)}#threeView canvas{position:static;touch-action:none;cursor:grab}.edit-tools{font-size:12px}.edit-tools p{font-size:11px;line-height:1.6;color:#69718a}.edit-tools label{margin:10px 0;font-size:12px}.edit-tools output{float:right;color:var(--blue)}.edit-tools input[type=range]{padding:0;border:0;accent-color:var(--blue)}.edit-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.edit-actions button{padding:7px 10px;border:1px solid #ccd4ec;border-radius:5px;background:white;color:var(--blue);font-size:11px}.edit-actions label{display:flex;gap:5px;align-items:center;font-size:11px}.edit-actions input[type=checkbox]{width:auto;margin:0}.preview-side{position:static!important}#threeView:focus-visible{outline:3px solid #df6da6;outline-offset:-3px}@media(max-width:650px){.custom-layout{grid-template-columns:1fr}.custom-layout .preview-side .preview{max-width:360px}.view-tabs button{font-size:11px}}

.custom-dialog>.close{z-index:20;background:white;border-radius:50%;width:34px;height:34px;line-height:28px}.custom-layout .preview-side{z-index:auto}

#printModeControl{font-size:12px;margin:14px 0 0}#wrapTools{margin-top:16px;padding:14px;background:white;border:1px solid #d8ddef;border-radius:8px}.wrap-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:10px}.wrap-heading button{font-size:11px;padding:7px 10px;border-radius:5px;background:#edf0ff;color:var(--blue)}#wrapStrip{display:block;width:100%;height:auto;background:repeating-conic-gradient(#f1f2f5 0% 25%,white 0% 50%) 50% / 16px 16px;border:1px solid #d8ddef}.wrap-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--blue);margin-top:5px}#wrapTools p,#wrapTools small{font-size:11px;color:var(--muted);line-height:1.7}#wrapTools label{font-size:11px;margin:10px 0}#wrapTools input[type=range]{padding:0;border:0;accent-color:var(--blue)}#wrapOffsetValue{float:right;color:var(--blue)}.upload #uploadTitle{font-size:13px;color:var(--ink);font-weight:500}

#tumblerSpecs{padding:15px;background:#f6f4ef;border:1px solid #e2ddd1;border-radius:8px;font-size:12px;margin:16px 0}#tumblerSpecs strong{color:var(--navy)}#tumblerSpecs dl{margin:12px 0}#tumblerSpecs dt{font-weight:600;margin-top:9px}#tumblerSpecs dd{margin:3px 0;line-height:1.7;color:#646779}#tumblerSpecs small{font-size:10px;line-height:1.6;display:block;color:#737586}

.product-image.reference-tumbler{background-image:url(assets/tumbler-reference.png);background-size:cover;background-position:center}.print-size-download{width:100%;padding:8px 12px;margin-bottom:12px;border:1px solid #d8ddef;border-radius:5px;background:white;color:var(--blue);font-size:11px}

@font-face{font-family:'Be Vietnam Pro';src:url('fonts/BeVietnamPro-Regular.woff2') format('woff2');font-weight:400 500;font-display:swap}@font-face{font-family:'Be Vietnam Pro';src:url('fonts/BeVietnamPro-Bold.woff2') format('woff2');font-weight:600 900;font-display:swap}@font-face{font-family:Lora;src:url('fonts/Lora[wght].woff2') format('woff2');font-weight:400 700;font-display:swap}@font-face{font-family:'Dancing Script';src:url('fonts/DancingScript[wght].woff2') format('woff2');font-weight:400 700;font-display:swap}.text-palette .swatches{display:flex;flex-wrap:wrap;gap:10px}.text-palette .swatches span{border:1px solid #b9bbce}.font-sample{font-size:24px;line-height:1.6;margin:0 0 16px;overflow-wrap:anywhere}#customFont{width:100%;min-height:44px}

.product-image.reference-shirt,#previewBase.reference-shirt{background-image:url('assets/shirt-full-front-back.png');background-size:200% 100%;background-position:0 0}

/* studio.css */
.text-adjust-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.text-adjust-row label{min-width:0}.text-adjust output{float:right;color:var(--blue)}.text-adjust input[type=range]{padding:0!important;accent-color:var(--blue);height:30px}.text-adjust-actions{display:flex;gap:8px}.text-adjust-actions button{border:1px solid #cdd4ec;border-radius:6px;background:white;color:var(--blue);padding:10px;font-size:12px;min-height:40px}.text-adjust-actions button[aria-pressed=true]{background:var(--blue);color:white}#textDragHint{font-size:11px;line-height:1.5;color:#626779;margin:8px 0}.dragging-text canvas{cursor:move!important}
/* A bounded workspace keeps the product and purchase action in view. */
#customDialog{width:1180px;height:min(860px,94dvh);max-height:94dvh;padding:0;overflow:hidden}
#customForm{height:100%;display:grid;grid-template:64px minmax(0,1fr) auto / minmax(0,1fr);gap:0}
.studio-header{padding:18px 64px 14px 24px;border-bottom:1px solid var(--line)}
.studio-header h2{margin:0;font-size:21px;letter-spacing:-.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.studio-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(350px,1fr);min-height:0;overflow:hidden}
#customForm .preview-side{padding:16px 22px;border-radius:0;display:flex;flex-direction:column;align-items:center;min-height:0;overflow:hidden;gap:8px}
#customForm .view-tabs{margin:0;align-self:stretch;flex-shrink:0}
#customForm .preview{width:min(100%,calc(94dvh - 350px),490px);max-width:none;flex-shrink:1;min-height:100px;aspect-ratio:1;margin:0 auto}
#customForm .edit-tools{width:100%;text-align:center}
#customForm #editHint{margin:0;font-size:11px;line-height:1.5}
#customForm .edit-tools .edit-actions{justify-content:center;margin-top:5px}
#customForm .preview-options{margin:0;gap:5px;flex-direction:row;flex-wrap:wrap;justify-content:center}
#customForm .preview-options span{font-size:10px;padding:4px 7px}
#customForm #mockupStatus{margin:0;font-size:10px;line-height:1.4;text-align:center}
.studio-tools{display:flex;flex-direction:column;min-height:0;background:white;border-left:1px solid var(--line)}
.studio-tabs{display:flex;gap:6px;padding:12px 18px;border-bottom:1px solid var(--line);flex-shrink:0}
.studio-tabs button{flex:1;background:#f1f3fa;color:#687087;border-radius:7px;padding:11px;font-size:13px}
.studio-tabs button[aria-selected=true]{background:var(--navy);color:white}
.studio-panels{overflow:auto;overscroll-behavior:contain;min-height:0;padding:4px 20px 18px;scrollbar-gutter:stable}
#customForm .studio-panel>label{margin:12px 0}
#customForm .studio-panel fieldset{margin:14px 0}
#customForm .text-palette .swatches{gap:10px}
#customForm .font-sample{font-size:21px;line-height:1.4;margin:6px 0}
#customForm select{font:inherit;width:100%;padding:9px;border:1px solid #d9dce6;border-radius:5px;background:white}
.studio-fold{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:12px}
.studio-fold summary{cursor:pointer;font-weight:600;padding:4px 0 10px;color:var(--navy)}
#customForm #wrapTools{padding:0;border:0;margin-top:10px}
#customForm #wrapStrip{max-height:200px;object-fit:contain}
#customForm #tumblerSpecs{padding:0;background:none;border:0;margin:0}
#customForm #tumblerSpecs strong{display:none}
.studio-panel>p{font-size:12px;line-height:1.7;color:var(--muted)}
.studio-footer{padding:12px 24px;border-top:1px solid var(--line);background:white;display:grid;grid-template-columns:1fr auto;gap:4px 24px;align-items:center}
.studio-footer .purchase-row{justify-content:start;gap:24px}
.studio-footer .purchase-row strong{font-size:21px;margin-top:3px}
.studio-footer .unit-price strong{font-size:15px}
.studio-footer>.button{width:auto;min-width:230px;padding:15px 22px}
.studio-footer .error{grid-column:1/-1;margin:0;font-size:12px;max-height:40px;overflow:auto}
@media(max-width:700px){
 #customDialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
 #customForm{grid-template-rows:48px minmax(0,1fr) auto}
 .studio-header{padding:13px 52px 10px 16px}.studio-header h2{font-size:17px}
 .studio-workspace{grid-template: minmax(170px,34dvh) minmax(0,1fr) / minmax(0,1fr)}
 #customForm .preview-side{padding:7px 12px;gap:4px}
 #customForm .preview{width:min(100%,calc(34dvh - 87px));min-height:70px;max-width:none;margin:0}
 #customForm .view-tabs{width:100%;max-width:390px;align-self:center}
 #customForm .view-tabs button{padding:6px;font-size:11px}
 #customForm #editHint{font-size:9px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #customForm .preview-options,#customForm #mockupStatus{display:none}
 #customForm .edit-tools .edit-actions{margin:2px 0 0;gap:4px}
 #customForm .edit-tools .edit-actions button{padding:4px 8px;font-size:10px}
 .studio-tools{border-left:0;border-top:1px solid var(--line)}
 .studio-tabs{padding:7px 12px;gap:6px}.studio-tabs button{padding:8px;font-size:12px}
 .studio-panels{padding:0 16px 14px}
 .studio-footer{padding:9px 12px max(9px,env(safe-area-inset-bottom));gap:3px 10px}
 .studio-footer .unit-price{display:none}.studio-footer .purchase-row strong{font-size:18px}
 .studio-footer>.button{min-width:0;font-size:12px;padding:13px 14px}
 #customForm .studio-panel>label{margin:10px 0}
}
@media(max-width:700px){
 .studio-workspace{grid-template-rows:clamp(160px,27dvh,225px) minmax(0,1fr)}
 #customForm .preview-side{display:grid;grid-template-columns:minmax(0,1fr) 110px;grid-template-rows:1fr auto;gap:4px 8px;padding:6px 12px}
 #customForm .preview{grid-column:1;grid-row:1/3;width:min(100%,calc(27dvh - 12px),213px);height:auto;min-height:0;justify-self:center;align-self:center}
 #customForm .view-tabs{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:4px;width:100%;margin:0;align-self:center}
 #customForm .view-tabs button{flex:none;min-height:36px;padding:7px 4px;font-size:11px}
 #customForm .edit-tools{grid-column:2;grid-row:2;align-self:end}
 #customForm #editHint{display:none}
 #customForm .edit-tools .edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:0}
 #customForm .edit-tools .edit-actions button{min-height:28px;padding:4px 2px;font-size:9px}
 #customForm #resetView{grid-column:1/-1}
 #customForm .studio-panel>label{margin:8px 0;font-size:12px}
 #customForm .studio-panel input:not([type=radio]):not([type=range]):not([type=checkbox]),#customForm .studio-panel select{font-size:16px;min-height:42px;padding:8px 10px;margin-top:5px}
 #customForm .studio-panel input[type=file]{font-size:12px;min-height:44px}
 #customForm .studio-panel fieldset{margin:8px 0}
 #customForm .text-palette .swatches{gap:0 2px;display:grid;grid-template-columns:repeat(6,44px);justify-content:space-between}
 #customForm .text-palette .swatches label{width:44px;height:40px;display:grid;place-items:center;margin:0}
 #customForm .text-palette .swatches span{width:27px;height:27px}
 #customForm .font-sample{display:none}
 .studio-tabs{padding:5px 12px}.studio-tabs button{min-height:40px}
 .studio-footer>.button{min-height:44px}
}
@media(max-width:700px) and (max-height:550px){
 .studio-workspace{grid-template: minmax(0,1fr) / 38% minmax(0,1fr)}
 #customForm .preview-side{display:flex;padding:6px;gap:5px;justify-content:center}
 #customForm .view-tabs{flex-direction:row;max-width:100%;gap:2px}
 #customForm .view-tabs button{flex:1;min-height:32px;font-size:9px}
 #customForm .preview{width:min(100%,calc(100dvh - 235px))}
 #customForm .edit-tools .edit-actions{display:flex;justify-content:center}
 .studio-panels{padding:0 10px 10px}
 #customForm .text-palette .swatches{grid-template-columns:repeat(6,minmax(24px,1fr))}
 #customForm .text-palette .swatches label{width:100%}
}
@media(max-width:700px) and (min-height:551px){
 .studio-workspace{grid-template-rows:clamp(190px,29dvh,235px) minmax(0,1fr)}
 #customForm .preview-side{grid-template-rows:minmax(0,1fr) 60px}
 #customForm .preview{width:min(100%,calc(29dvh - 12px),223px)}
 #customForm .view-tabs button{min-height:32px;padding:5px 4px}
}
/* Product-first preview: controls sit below the image, leaving its full width. */
#customDialog{width:1280px;height:min(960px,96dvh);max-height:96dvh}
.studio-workspace{grid-template-columns:minmax(0,1.55fr) minmax(350px,1fr)}
#customForm .preview-side{position:relative!important;padding:12px 18px;gap:6px}
#customForm .preview{width:min(100%,calc(96dvh - 280px),620px)}
.preview-enlarge{position:absolute;top:60px;left:26px;z-index:8;background:#ffffffeb;color:var(--navy);border:1px solid #d8ddef;border-radius:8px;padding:9px 11px;font-size:12px;min-height:40px}
#customForm.preview-expanded .studio-workspace{grid-template: minmax(0,1fr) / minmax(0,1fr)}
#customForm.preview-expanded .studio-tools{display:none}
#customForm.preview-expanded .preview{width:min(100%,calc(96dvh - 255px),760px)}
#customForm.preview-expanded .view-tabs{max-width:520px;align-self:center;width:100%}
@media(max-width:700px) and (min-height:551px){
 #customDialog{width:100%;height:100dvh;max-height:100dvh}
 #customForm .studio-workspace{grid-template: minmax(230px,43dvh) minmax(0,1fr) / minmax(0,1fr)}
 #customForm .preview-side{display:flex;flex-direction:column;justify-content:center;padding:6px 10px;gap:5px}
 #customForm .preview{order:0;width:min(calc(100vw - 20px),calc(43dvh - 55px));margin:0;flex-shrink:0}
 #customForm .view-tabs{order:1;display:flex;flex-direction:row;align-self:center;max-width:420px;width:100%;gap:5px}
 #customForm .view-tabs button{flex:1;min-height:38px;padding:7px 4px}
 #customForm .edit-tools{position:absolute;right:12px;top:8px;width:auto;max-width:78px}
 #customForm .edit-tools .edit-actions{display:flex;flex-direction:column;gap:4px}
 #customForm .edit-tools .edit-actions button{min-height:30px;padding:6px;font-size:9px}
 .preview-enlarge{top:8px;left:12px;font-size:10px;padding:7px;min-height:34px}
 #customForm.preview-expanded .studio-workspace{grid-template:minmax(0,1fr) / minmax(0,1fr)}
 #customForm.preview-expanded .preview{width:min(calc(100vw - 20px),calc(100dvh - 230px))}
 #customForm.preview-expanded .preview-side{justify-content:center}
 #customForm.preview-expanded .preview-enlarge{font-size:12px}
}
@media(max-width:700px) and (max-height:550px){
 #customDialog{height:100dvh;max-height:100dvh}
 #customForm .preview{width:min(100%,calc(100dvh - 225px))}
 .preview-enlarge{top:3px;left:5px;font-size:9px;min-height:28px;padding:5px}
 #customForm.preview-expanded .preview{width:min(100%,calc(100dvh - 230px))}
}
.product-image.reference-shirt,#previewBase.reference-shirt{background-image:none!important;position:relative;background-color:#f5f5f5}.product-image.reference-shirt::before{content:'';position:absolute;inset:0 16.6667%;background-image:url('assets/shirt-supplier-front-back.jpg');background-size:200% 100%;background-position:var(--shirt-face,0%) 0}
.size-table{width:100%;border-collapse:collapse;font-size:12px;margin:16px 0}.size-table caption{text-align:left;font-weight:700;font-size:14px;margin-bottom:10px}.size-table th,.size-table td{padding:8px 4px;border-bottom:1px solid #e2e5ef;text-align:center}.size-table thead{background:#f0f2fd}.size-table button{background:#edf0ff;border-radius:5px;color:var(--blue);min-width:38px;min-height:38px;padding:5px;font:inherit}.size-table button[aria-pressed=true]{background:var(--blue);color:white}#studio-panel-size h3{font-size:17px;margin:12px 0}#studio-panel-size p{font-size:12px;line-height:1.6}#sizeChosen{color:var(--blue);font-weight:600}#studio-panel-size img{width:100%;height:auto}.has-size-guide .studio-tabs{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:4px}.has-size-guide .studio-tabs button{font-size:11px;padding:6px 4px;min-height:44px}.size-table tr:has([aria-pressed=true]){background:#f2f4ff}
@media(max-width:400px){.size-table{font-size:10px}.size-table th,.size-table td{padding:6px 2px}.size-table button{min-width:34px;min-height:40px}}
.size-table thead th{position:sticky;top:0;z-index:1;background:#f0f2fd}

/* Keep the dialog's header, workspace and checkout in distinct bounded rows. */
#customForm{min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
#customForm>.studio-header,#customForm>.studio-footer{min-width:0;position:relative;z-index:2}
#customForm>.studio-workspace{min-width:0;min-height:0;align-items:stretch;overflow:hidden}
#customForm .preview-side{align-self:stretch;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto auto;grid-template-areas:"views" "canvas" "tools" "options" "status";overflow:auto;overscroll-behavior:contain}
#customForm .view-tabs{grid-area:views;order:initial;align-self:stretch;max-width:none;width:100%}
#customForm .studio-preview-stage{grid-area:canvas;min-width:0;min-height:0;align-self:stretch;justify-self:stretch;container-type:size;display:grid;place-items:center;overflow:hidden}
#customForm .studio-preview-stage .preview{width:min(100cqw,100cqh,760px);height:min(100cqw,100cqh,760px);max-width:100%;max-height:100%;min-height:0;margin:0;aspect-ratio:1;grid-area:auto;align-self:center;justify-self:center;order:initial}
#customForm .edit-tools{grid-area:tools;position:static;width:100%;max-width:none;align-self:stretch}
#customForm .edit-tools .edit-actions{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}
#customForm .preview-options{grid-area:options;align-self:stretch}
#customForm #mockupStatus{grid-area:status;align-self:stretch}
#customForm .studio-tools{min-width:0;min-height:0;overflow:hidden}
#customForm .studio-panels{flex:1 1 0;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:12px}
#customForm .preview-enlarge{top:60px}
.studio-upsell{grid-column:1/-1;min-width:0;background:#e8f4f0;border:1px solid #b8d9d0;border-radius:12px;text-align:center}
.studio-upsell-link{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px;width:100%;border:0;border-radius:11px;background:none;color:var(--teal,var(--blue));font-size:13px;font-weight:600;line-height:1.5;padding:9px 12px;min-height:44px;max-width:100%;white-space:normal;cursor:pointer}
.studio-upsell-link span{padding:5px 12px;border-radius:999px;background:#005b63;color:#fff;font-size:12px;font-weight:700;white-space:nowrap}
.studio-upsell-link:hover{background:#dceee7}
.studio-upsell-link:focus-visible{outline:3px solid #ff650a;outline-offset:3px}
.studio-upsell-link:disabled{opacity:.65;cursor:wait}
#upsellStatus{margin:0;padding:0 10px 7px;font-size:11px;color:#a34422}
#upsellStatus:empty{display:none}
@media(max-width:700px){
 #customForm>.studio-workspace{grid-template:minmax(180px,42%) minmax(0,1fr)/minmax(0,1fr)}
 #customForm .preview-side{display:grid;grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"canvas" "views" "tools";padding:6px 10px;gap:4px}
 #customForm .view-tabs{display:flex;flex-direction:row;max-width:none;width:100%;align-self:stretch}
 #customForm .view-tabs button{min-height:36px;padding:5px 4px}
 #customForm .edit-tools .edit-actions{display:flex;gap:4px;margin:0}
 #customForm .edit-tools .edit-actions button{min-height:30px;padding:4px 7px;font-size:10px}
 #customForm .preview-enlarge{top:8px;left:12px}
 #customForm.preview-expanded>.studio-workspace{grid-template:minmax(0,1fr)/minmax(0,1fr)}
}
@media(max-width:700px) and (max-height:550px){
 #customForm>.studio-workspace{grid-template:minmax(0,1fr)/minmax(0,42%) minmax(0,1fr)}
 #customForm .preview-side{padding:5px;gap:3px}
 #customForm .view-tabs button{font-size:9px;min-height:30px}
 #customForm .edit-tools .edit-actions button{font-size:9px;min-height:28px;padding:3px}
 #customForm .preview-enlarge{top:5px;left:5px}
}
.image-tool-buttons{display:flex;gap:8px;margin:8px 0 14px}.image-tool-buttons button,.image-edit-actions button,.image-edit-footer>button:not(.primary){padding:10px 14px;border:1px solid #ced5ef;border-radius:6px;background:white;color:var(--blue);font-size:13px;min-height:42px}button:disabled{opacity:.45;cursor:default}#imageEditDialog{width:780px;max-height:96dvh;padding:18px;overflow:auto}.image-edit-title{display:flex;justify-content:space-between;align-items:center}.image-edit-title h2{font-size:21px;margin:0}.image-edit-title button{font-size:28px;background:none;min-width:44px;min-height:44px}#imageEditDialog>p{font-size:12px;line-height:1.6}.crop-stage{display:flex;justify-content:center;align-items:center;min-height:80px;background:repeating-conic-gradient(#e4e7ee 0% 25%,white 0% 50%) 50% / 20px 20px;border:1px solid #d9dce6;border-radius:6px;overflow:hidden}#cropCanvas{display:block;max-width:100%;max-height:55dvh;width:auto;height:auto;touch-action:none;cursor:crosshair}.image-edit-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.image-edit-footer{display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:white;padding:10px 0 0}#imageEditStatus{min-height:36px;color:var(--navy)}@media(max-width:700px){#imageEditDialog{max-width:100%;width:100%;max-height:100dvh;margin:auto 0;padding:14px}.image-edit-actions button{font-size:11px;padding:8px}.image-edit-footer .button{font-size:12px;padding:12px}.image-edit-footer{padding-bottom:env(safe-area-inset-bottom)}}

/* ai.css */
.ai-page{background:#faf9f6}.ai-page header{padding:24px 5%;background:#fff}.back-link{font-size:14px}.ai-main{max-width:1240px;margin:auto;padding:45px 24px}.ai-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:30px}.ai-intro h1{font-size:clamp(32px,4.5vw,54px);line-height:1.16;margin:18px 0}.ai-intro h1 em{color:#3045e8}.ai-intro p{color:#73768b;line-height:1.7}.ai-badge{padding:25px;background:#eeedff;border-radius:24px;transform:rotate(3deg);min-width:260px}.ai-badge>span{display:block;color:#3444ed;font-size:46px}.ai-badge strong{display:block}.ai-status{display:flex;gap:12px;align-items:flex-start;background:#fff6df;border:1px solid #eaddb9;border-radius:12px;padding:15px 18px;margin-bottom:24px;font-size:13px}.ai-status p{margin:6px 0 0;line-height:1.6}.status-dot{width:8px;height:8px;border-radius:50%;background:#b58624;margin-top:7px;flex-shrink:0}.ai-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:start}.ai-card{background:#fff;border:1px solid #e5e4ef;border-radius:20px;padding:26px;min-width:0}.step-title{display:flex;align-items:center;gap:12px;margin-bottom:24px}.step-title>span{background:#ededff;color:#3045e8;padding:8px;border-radius:50%;font-size:13px;font-weight:bold}.step-title h2{font-size:21px;margin:0}.ai-card label{display:block;font-size:14px;margin:18px 0 8px}.ai-card input,.ai-card textarea,.ai-card select{width:100%;margin-top:8px;box-sizing:border-box}.ai-card textarea{resize:vertical;min-height:100px}.ai-card fieldset{padding:0;border:0;margin:22px 0}.ai-card legend{font-size:14px}.prompt-suggestions,.result-actions{display:flex;gap:8px;flex-wrap:wrap}.prompt-suggestions button,.quiet-button{background:#fff;border:1px solid #dcddea;color:#323751;padding:10px 12px;border-radius:8px;font:inherit;font-size:12px;cursor:pointer;min-height:42px}.style-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.style-grid label{position:relative;margin:10px 0 0;cursor:pointer}.style-grid input{position:absolute;opacity:0;width:1px}.style-grid span{display:flex;flex-direction:column;align-items:center;font-size:25px;gap:7px;border:1px solid #dedfeb;border-radius:10px;padding:14px 3px}.style-grid b{font-size:11px;font-weight:500}.style-grid input:checked+span{background:#efefff;border-color:#3545e9;color:#3545e9}.style-grid input:focus-visible+span{outline:3px solid #687aff}.ai-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.helper,.ai-upload small{font-size:12px;color:#70778a;line-height:1.6}.ai-card details{margin:20px 0}.ai-card summary{font-size:13px;cursor:pointer}.ai-card .button:disabled{opacity:.5;cursor:not-allowed}.art-stage{aspect-ratio:1;display:grid;place-items:center;background-color:#fafafa;background-image:linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;border-radius:14px;overflow:hidden}.art-stage canvas{max-width:100%;max-height:100%;width:100%;object-fit:contain}.art-stage canvas[hidden]{display:none}#artEmpty{text-align:center;max-width:270px;padding:20px}#artEmpty>span{font-size:72px;color:#c5c4ec}#artEmpty h3{font-size:18px}#artEmpty p{font-size:13px;line-height:1.7;color:#71778b}.sample-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:13px;margin:22px 0 12px}.sample-heading small{color:#777e8c}.sample-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sample-grid button{background:#faf9f6;border:1px solid #e5e3ec;border-radius:12px;padding:10px;font:inherit;font-size:12px;cursor:pointer}.sample-grid button[aria-pressed=true]{outline:2px solid #3545e9}.sample-grid span{display:block;font-size:40px;margin:4px 0 8px}.sample-flower{color:#3045e8}.sample-stars{color:#8074a4}.sample-heart{color:#c66a83}.ai-upload{padding:14px;background:#f7f7fc;border-radius:12px}.ai-upload small{display:block;margin-top:9px}.ai-next{border-top:1px solid #e4e4ef;padding-top:20px;margin-top:22px}.ai-next small{display:block;font-size:12px;color:#747b8b;margin:8px 0 16px}.ai-next .button{width:100%;justify-content:center}.ai-footnote{text-align:center;font-size:13px;color:#747b8b;margin:24px 0}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #8992fc;outline-offset:3px}.ai-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;border-radius:18px;background:#efedff;margin:20px 0 30px}.ai-entry p{margin:5px 0;font-size:14px}.ai-entry a{white-space:nowrap}.ai-hero-link{display:inline-block;margin-top:16px;color:#3045e8;font-weight:600;font-size:14px}@media(max-width:700px){.ai-main{padding:26px 14px}.ai-intro{display:block}.ai-badge{display:none}.ai-intro h1{font-size:34px}.ai-intro p{font-size:14px}.ai-layout{grid-template-columns:1fr;gap:16px}.ai-card{padding:18px}.ai-page header{padding:18px 16px}.ai-page .brand{font-size:22px}.ai-status{font-size:12px}.ai-entry{flex-direction:column;align-items:flex-start}.ai-card input,.ai-card select,.ai-card textarea{font-size:16px}.ai-page footer{padding:24px}.art-stage{max-height:440px}.ai-next .button{min-height:50px}}
.ai-product-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-product-checks label{display:flex;align-items:center;gap:8px;padding:10px;margin:0;border:1px solid #dfdbd0;border-radius:9px;font-size:13px}.ai-product-checks input{width:18px;height:18px;flex-shrink:0}.ai-product-checks label:has(:checked){background:#eaf4f0;border-color:#005a61}.ai-page label[hidden]{display:none}
.ai-card #aiProductPicker{margin:14px 0 8px;border:1px solid #d9e2dd;border-radius:10px;padding:0;background:#fffdf8}.ai-card #aiProductPicker summary{padding:11px 13px;font-size:13px;font-weight:600;min-height:44px;color:var(--teal)}.ai-card #aiProductPicker .ai-product-search{display:block;margin:0;padding:0 12px 8px;font-size:11px}.ai-card #aiProductPicker .ai-product-search input{padding:9px 10px;border:1px solid #d9e2dd;border-radius:7px;font-size:13px;margin:4px 0 0;min-height:38px}.ai-card #aiProductPicker .ai-product-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px;overflow-y:auto;gap:2px 6px;padding:0 10px 8px;overscroll-behavior:contain}.ai-card #aiProductPicker .ai-product-checks label{display:flex;align-items:center;gap:7px;margin:0;padding:7px 5px;min-height:36px;border:0;border-radius:6px;font-size:12px;line-height:1.4;min-width:0;overflow-wrap:anywhere;cursor:pointer}.ai-card #aiProductPicker .ai-product-checks label[hidden]{display:none!important}.ai-card #aiProductPicker .ai-product-checks input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:0;padding:0;accent-color:var(--orange)}#aiProductSearchStatus{display:block;padding:0 12px 8px;font-size:11px;color:var(--muted)}#aiProductSearchStatus:empty{display:none}#aiSelectedProducts{display:flex;gap:6px;overflow-x:auto;padding:2px 0 6px;margin-bottom:12px;scrollbar-width:thin;font-size:11px;color:var(--muted)}#aiSelectedProducts span{flex:0 0 auto;border:1px solid #c8dfd7;background:#eff7f3;color:var(--teal);border-radius:20px;padding:5px 9px;white-space:nowrap}#aiProductPicker[open] summary{border-bottom:1px solid #e4eae5;margin-bottom:8px}@media(max-width:700px){.ai-card #aiProductPicker .ai-product-checks{grid-template-columns:1fr;max-height:216px}.ai-card #aiProductPicker .ai-product-checks label{min-height:38px}.ai-card #aiProductPicker .ai-product-search input{font-size:16px}}

/* safety.css */
#draftStatus{font-size:11px;font-weight:400;line-height:1.35;margin:5px 0;color:#596279}.studio-header{flex-wrap:wrap}.cart-edit{grid-column:1/-1;background:#efefff;border:1px solid #bfc5ed;border-radius:8px;padding:12px;color:#233eaf;font:inherit}.cart-faces{grid-column:1/-1;display:flex;gap:10px}.cart-faces figure{margin:0;width:48%;font-size:12px;text-align:center}.cart-faces img{width:100%;border-radius:10px}.test-banner{padding:12px;background:#fff0bd;font-size:13px;text-align:center}.checkout-panel{border-top:1px solid #ddd;padding-top:20px}.checkout-panel label{display:block;margin:14px 0}.checkout-panel input,.checkout-panel textarea{width:100%}.checkout-panel input[type=checkbox]{width:auto}.quote-lines{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:14px;padding:16px;background:#f5f5fc}.order-card{border:1px solid #dfe0ed;padding:18px;border-radius:12px;margin:15px 0}.order-card img{max-width:180px;width:45%}.order-card pre{white-space:pre-wrap;overflow-wrap:anywhere}.order-page{max-width:960px;margin:auto;padding:24px}.order-page input,.order-page select,.order-page textarea{max-width:100%;box-sizing:border-box}.order-page button{margin:6px;padding:12px;border:1px solid #c5c7df;border-radius:8px;background:#efefff;color:#203565}.order-page label{display:block;margin:12px 0}.order-page .error{white-space:pre-line}.order-page a{overflow-wrap:anywhere}.checkout-panel button{min-height:44px}#orderError{white-space:pre-line}#proofApproval{display:block;padding:14px;background:#f2f2ff}.proof-grid{display:flex;gap:8px;flex-wrap:wrap}.proof-grid img{width:140px;max-width:45%}@media(max-width:420px){.cart-dialog{padding:16px}.cart-item{grid-template-columns:60px 1fr}.item-right{grid-column:2}.order-page{padding:14px}.studio-header h2{font-size:17px}}

.gift-chooser{padding:18px;background:#f5f4ff;border-radius:12px;margin-bottom:20px}.gift-chooser>div{display:flex;gap:14px;flex-wrap:wrap}.gift-chooser label{flex:1;min-width:140px}.gift-chooser select{display:block;width:100%;margin-top:6px}.gift-chooser button,#quickTemplates button,.history-actions button{padding:10px;margin:4px;border:1px solid #ccd0ed;border-radius:8px;background:white;color:#263da3;font:inherit;font-size:12px;min-height:40px}.history-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.history-actions small{font-size:10px;color:#72768a}#designWarnings,#textWarnings{font-size:12px;color:#8c5527;line-height:1.5}#realProductMedia img{width:47%;margin:1%;border-radius:10px}.studio-header{padding-bottom:8px!important}

#customForm{grid-template-rows:auto minmax(0,1fr) auto}.studio-header{min-height:60px}.history-actions{flex-shrink:0;border-bottom:1px solid #eee;padding:2px 10px}.history-actions button{min-height:36px;padding:7px 10px}.history-actions small{margin-left:auto}@media(max-width:420px){.history-actions small{display:none}}

.order-previews{display:grid;grid-template-columns:1fr 1fr;gap:10px}.order-previews figure{margin:0;text-align:center;font-size:12px}.order-previews img{width:100%;max-width:100%;border-radius:8px}.order-card input:not([type=checkbox]):not([type=file]){min-height:42px;padding:8px;width:100%;border:1px solid #ccd0df;border-radius:6px}.order-card input[type=checkbox]{width:20px;height:20px}.order-card h2{font-size:22px;overflow-wrap:anywhere}@media(max-width:700px){.order-page h1{font-size:32px}.order-card h2{font-size:18px}.order-card{padding:14px}}
#shipPhone[aria-invalid="true"]{border-color:#b42332;box-shadow:0 0 0 1px #b42332}#phoneError{display:block;font-size:13px;margin-top:6px}#phoneError:empty{display:none}
.product-image.concept-product{background:none}.concept-product svg{display:block;width:100%;height:100%}.product-meta .price{max-width:130px}.product-meta .price small{white-space:normal}
.product-meta .price small{display:block;margin-top:4px}#conceptNotice{flex-basis:100%;font-size:11px;font-weight:400;color:#596279;margin:2px 0;line-height:1.4}
.shop-controls{align-items:flex-start;flex-wrap:wrap}.filters{flex-wrap:wrap;max-width:100%}.filters button{white-space:nowrap}.concept-product.ai-mockup{background-repeat:no-repeat;background-size:200% 100%;background-position:left center}
.concept-product{overflow:hidden}.concept-product .mockup-pair{width:200%;max-width:none;height:100%;object-fit:fill;display:block}
.stock-table-scroll{max-width:100%;overflow-x:auto}.stock-table-scroll table{min-width:410px}.stock-table-scroll th,.stock-table-scroll td{padding:9px 7px}.stock-size-note{padding:10px;background:#fff4d6;color:#674718;font-size:12px;line-height:1.6}.measure-guide{font-size:13px;line-height:1.7;padding-left:20px}.product-colors:has([value^="hk-"]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.product-colors:has([value^="hk-"]) .product-color-option{min-width:0;padding:7px}.product-colors:has([value^="hk-"]) small{font-size:11px}

/* Shared homepage frames; keep atlas cells at their native 2:3 ratio. */
.product-card .product-photo{background:#f4f3fa;border:1px solid #e8e6f1;border-radius:14px;isolation:isolate}
.product-card .product-image{position:absolute;top:7%;left:21.333333%;width:57.333333%;height:86%;border-radius:8px;background-repeat:no-repeat}
.product-card .product-image.concept-product{top:7%;left:7%;width:86%;height:86%;border-radius:8px;background:#f4f3fa}
.product-card .product-image.reference-tumbler{top:7%;left:7%;width:86%;height:86%;background-size:contain;background-color:#f4f3fa}
.product-card .concept-product .mockup-pair{width:200%;height:100%;max-width:none;object-fit:contain}
.product-card .product-tag{max-width:calc(100% - 60px);background:#ffffffeb;color:#36436b;box-shadow:0 2px 8px #18244b08}

#configFields label{overflow-wrap:anywhere;min-width:0;line-height:1.6}#configFields input{display:block;width:100%;min-width:0;margin-top:6px}#orderPageError{white-space:pre-line;overflow-wrap:anywhere}

/* /content-pages.css */
@font-face{font-family:GiftContent;src:url('/fonts/BeVietnamPro-Regular.woff2') format('woff2');font-weight:400;font-display:swap}.gift-content{margin:0;background:#fffbf4;color:#14545a;font:16px/1.8 GiftContent,system-ui,sans-serif}.gift-content *{box-sizing:border-box}.gift-content a{color:#005e65;text-underline-offset:4px}.content-header{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid #e5ddd2}.content-header img{display:block;object-fit:contain}.content-header nav,.content-footer nav{display:flex;gap:20px;flex-wrap:wrap}.gift-content main{max-width:980px;margin:auto;padding:32px 24px 64px}.gift-content h1{font-size:clamp(28px,4vw,44px);line-height:1.25;max-width:24ch}.gift-content h2{font-size:25px;line-height:1.4;margin-top:32px}.gift-content h3{font-size:21px;line-height:1.4}.gift-content p{margin:12px 0 20px}.gift-content .lead{font-size:18px;line-height:1.8}.eyebrow{color:#be4b00;font-size:12px;font-weight:bold;letter-spacing:1.5px}.crumbs,.content-date{font-size:13px;color:#567175}.content-button{display:inline-block;background:#ff6500;color:white!important;padding:12px 22px;border-radius:30px;text-decoration:none;font-weight:bold;margin:12px 0}.content-links{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.content-links li,.article-grid article{padding:20px;border:1px solid #e2dacf;border-radius:14px;background:#fffefa}.content-links a{font-weight:bold}.content-links p{font-size:14px;margin-bottom:0}.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.article-grid h2{font-size:22px;margin:0}.article-toc{background:#ebf5f1;padding:20px;border-radius:12px;margin:26px 0}.gift-content details{padding:12px 0;border-bottom:1px solid #dfdfd4}.gift-content summary{cursor:pointer;font-weight:bold}.content-note{font-size:13px}.content-footer{background:#005a61;color:#fff;padding:32px max(24px,calc((100% - 1100px)/2))}.content-footer a{color:white}.content-footer small{display:block;margin-top:20px}.template-copy{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;border-top:1px solid #ddd;padding:24px 0}.template-copy img{width:100%;height:auto;border-radius:14px}.template-copy h3{margin-top:0}.gift-product-details{font-size:14px;line-height:1.7;margin:12px 0 20px;padding:12px 14px;border:1px solid #d9e2dc;border-radius:10px;background:#f3f8f5}.gift-product-details summary{cursor:pointer;color:#005a61;font-weight:600}.gift-product-details h4{margin:16px 0 5px}.gift-product-details p{margin:8px 0 12px}.gift-product-details a{color:#005a61;overflow-wrap:anywhere}.skip-content{position:absolute;left:16px;top:-100px}.skip-content:focus{top:10px;background:white;padding:10px;z-index:5}.gift-content section{scroll-margin-top:20px}@media(max-width:600px){.content-header{align-items:flex-start;flex-direction:column;padding:14px 18px}.content-header nav{gap:10px 16px;font-size:14px}.content-header img{width:140px;height:50px}.gift-content main{padding:24px 18px 40px}.content-links,.article-grid,.template-copy{grid-template-columns:minmax(0,1fr)}.template-copy img{max-width:280px}.gift-content h2{font-size:22px}.gift-content .lead{font-size:16px}.gift-content li{overflow-wrap:anywhere}}

/* /giftdee.css */
/* Giftdee presentation layer. Product data, print geometry and persistence remain independent. */
@font-face{font-family:Nunito;src:url('/fonts/Nunito.woff2') format('woff2');font-weight:200 1000;font-display:swap}
:root{--blue:#e84c00;--navy:#005661;--ink:#064f59;--muted:#65777a;--line:#e6dfd4;--paper:#fffbf4;--orange:#ff5f08;--teal:#005a61;--cream:#fffbf4;--soft:#f5eee2}
body{background:var(--cream);color:var(--ink);font-family:'Be Vietnam Pro',Arial,sans-serif;line-height:1.6}
h1,h2,h3{font-family:Nunito,'Be Vietnam Pro',Arial,sans-serif;color:var(--navy);font-weight:900;letter-spacing:-.8px}em{font-family:inherit;font-style:normal;font-weight:800;color:inherit}
a,button,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #007b85;outline-offset:3px}
input,select,textarea{font:inherit;color:var(--ink);accent-color:var(--orange)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{border:1px solid var(--line);background:#fffdf9;border-radius:9px;min-height:44px;padding:10px 12px}input[type=range]{accent-color:var(--orange)}
.button,.order-page button{border-radius:100px;min-height:44px}.primary,.order-page button.primary{background:var(--orange);color:white;border-color:var(--orange);font-weight:700}.primary:hover,.order-page button.primary:hover{background:#dc4b00}.button img{flex-shrink:0}.error{color:#b42332}.test-banner{background:#fff1d2;color:#6c4f12;font-size:11px;padding:6px 14px}.notice{background:var(--teal);color:white;font-size:12px;font-weight:600;padding:6px 15px;letter-spacing:0}
.giftdee-header{max-width:1280px;padding:16px 36px;min-height:90px;border:0;gap:24px;background:var(--cream)}.brand{letter-spacing:0;flex-shrink:0;display:inline-flex}.brand img{object-fit:contain;width:168px;height:67px}.giftdee-header nav{font-size:13px;font-weight:600;gap:24px;margin-left:auto}.header-actions{display:flex;align-items:center;gap:13px}.icon-button,.cart-button{border:0;background:transparent;min-width:44px;min-height:44px;padding:10px;display:flex;align-items:center;justify-content:center;position:relative}.cart-button span{position:absolute;right:0;top:0;background:var(--orange);color:white;border:0;width:20px;height:20px;font-size:10px}.mobile-menu{display:none}.giftdee-header>a:not(.brand){font-size:11px;max-width:74px;line-height:1.4}
.header-search{display:flex;align-items:center;border:1px solid var(--line);border-radius:100px;padding:0 12px;width:175px;min-width:0;background:#fff9ef}.header-search input{border:0!important;background:none!important;min-height:38px!important;width:100%;min-width:0;padding:8px 0!important;font-size:11px}.header-search img{flex-shrink:0}#focusSearch{display:none}.giftdee-header{gap:18px}.giftdee-header nav{gap:18px;font-size:12px}.product-card .product-image{mix-blend-mode:multiply}
.hero{max-width:1280px;padding:0;gap:0;grid-template-columns:43% 57%;min-height:490px;background:var(--cream)}.hero-copy{padding:45px 0 50px 58px;position:relative;z-index:1}.hero .eyebrow{color:var(--teal);font-size:12px;letter-spacing:2.5px}.hero h1{font-size:clamp(48px,5.1vw,76px);line-height:1.03;letter-spacing:-3px;margin:17px 0 25px;font-weight:800}.hero-copy>p{font-size:16px;color:var(--ink);line-height:1.7;margin-bottom:26px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero .button{gap:16px;font-size:14px;padding:14px 24px}.text-link{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.smile{display:inline-block;vertical-align:middle;object-fit:contain;margin-left:8px}.hero h1 .smile{width:55px;height:30px}.hero-visual{border-radius:0;aspect-ratio:auto;align-self:stretch;background:none;min-height:490px}.hero-visual>img{object-fit:cover;object-position:center;width:100%;height:100%}.image-caption{background:#fff9ecdb;color:#526a6d;padding:2px 7px;border-radius:4px;font-size:9px;bottom:8px;right:10px}
.benefits{max-width:1208px;margin:16px auto 38px;position:relative;z-index:2;background:#fffdf7;border:1px solid #fff4e4;box-shadow:0 6px 25px #94652a0a;border-radius:18px;display:grid;grid-template-columns:repeat(3,1fr);padding:20px 26px;gap:20px}.benefits>div{display:flex;align-items:center;gap:18px;padding:0 20px;border-right:1px solid var(--line)}.benefits>div:last-child{border:0}.benefits img{width:42px;height:42px;object-fit:contain;flex-shrink:0}.benefits strong{display:block;font-size:13px}.benefits small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.recipient-section,.shop{max-width:1280px;padding:0 36px;margin:0 auto 40px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px}.section-top h2,.how h2{font-size:30px;line-height:1.3;margin:0}.section-top>p{display:none}.recipient-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.recipient-card{padding:0;position:relative;overflow:hidden;border-radius:10px;background:var(--teal);aspect-ratio:1.28;color:white;text-align:left;border:2px solid transparent}.recipient-card>img:first-child{width:100%;height:100%;object-fit:cover;filter:brightness(.82)}.recipient-card>span{position:absolute;bottom:12px;left:12px;z-index:1;font-size:15px;font-weight:700;text-shadow:0 1px 6px #000}.recipient-card .recipient-arrow{position:absolute;bottom:10px;right:10px;width:25px;height:25px;border-radius:100px;background:white;padding:5px}.recipient-card[aria-pressed=true]{border-color:var(--orange)}.recipient-card:hover>img:first-child{filter:brightness(1)}
.gift-chooser{padding:16px 18px;margin:16px 0 0;background:#fff5e8;border:1px solid var(--line);border-radius:12px}.gift-chooser h3{display:none}.gift-chooser>div{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gift-chooser label{font-size:12px;min-width:0}.gift-chooser select{margin-top:4px;min-height:42px;font-size:13px}.gift-chooser p{margin:9px 0 0}#giftSuggestions{display:flex;flex-wrap:wrap;gap:5px}.gift-chooser button{border-color:var(--line);color:var(--teal);background:#fffcf6;margin:0;padding:7px 12px;border-radius:100px;min-height:36px}
.shop-controls{gap:16px;align-items:center;margin-bottom:20px}.filters{gap:8px}.filters button{border:1px solid #d8dcd6;border-radius:100px;background:transparent;color:var(--teal);font-size:12px;padding:9px 19px;min-height:40px}.filters button.active{background:var(--orange);color:white;border-color:var(--orange)}.search{background:#fffdf8;border:1px solid var(--line);border-radius:100px;padding:0 12px;max-width:250px}.search input{border:0!important;background:transparent!important;font-size:12px;min-height:40px!important;width:100%;padding:8px!important}.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-card{padding:0 0 15px;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;background:#fffdf8;min-width:0}.product-card .product-photo{margin:0;border:0;border-radius:0;background:#f3eee5;aspect-ratio:1;box-shadow:none}.product-card .product-image.concept-product,.product-card .product-image.reference-tumbler{background-color:#f3eee5}.product-tag{background:#fffaf1de;color:#526a6b;font-size:9px;padding:4px 8px;top:10px;left:10px;border-radius:4px;max-width:85%}.product-meta{display:flex;flex-direction:column;gap:5px;padding:12px 14px 8px;flex:1}.product-meta h3{font-size:14px;line-height:1.45;letter-spacing:0;font-weight:600;margin:0}.product-meta p{font-size:11px;line-height:1.6;margin:5px 0;color:var(--muted)}.product-meta .price{font-size:19px;font-weight:800;color:#e34b00;max-width:100%;text-align:left;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.product-meta .price small{font-size:9px;color:var(--muted);font-weight:400;margin:0}.product-card>.product-add{position:static;width:auto;height:auto;min-height:40px;margin:4px 14px 0;padding:9px 12px;border-radius:100px;background:var(--orange);color:white;font-size:12px;font-weight:700;box-shadow:none}.product-card>.product-add:hover{background:#dc4b00}.catalog-note{font-size:11px;line-height:1.7;color:var(--muted);margin:18px 0 0}.ai-entry{background:#f0f6f3;border:1px solid #d6e5de;border-radius:12px;padding:16px 20px;margin:0 0 20px}.ai-entry strong{font-size:14px}.ai-entry p{font-size:12px;margin:3px 0}.ai-entry .button{padding:10px 20px;font-size:12px}
.memory-banner{max-width:1280px;margin:20px auto 0;display:grid;grid-template-columns:43% 57%;background:var(--teal);overflow:hidden;min-height:350px}.memory-banner>div{padding:38px 20px 38px 58px;align-self:center;z-index:1}.memory-banner h2{color:white;font-size:38px;line-height:1.14;margin:0 0 15px}.memory-banner p{color:#d6e8e5;font-size:13px;line-height:1.7;margin:0 0 20px}.memory-banner .button,.about .button{font-size:13px;padding:12px 23px;gap:15px}.banner-photo{width:100%;height:100%;object-fit:cover}.how{max-width:1280px;margin:auto;padding:36px 58px;display:block;background:none;border:0}.how ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0;margin:26px 0 0;list-style:none}.how li{display:flex;border:0;gap:17px;padding:0;align-items:center}.how li>img{object-fit:contain;background:#fff3e0;border:1px solid #ffddba;border-radius:100px;width:72px;height:72px;padding:16px;flex-shrink:0}.how li span{font-size:15px;color:var(--orange);font-weight:700;line-height:1}.how li h3{font-size:14px;margin:4px 0 3px;letter-spacing:0;font-weight:700}.how li p{font-size:11px;line-height:1.6;margin:0;color:var(--muted)}
.about{display:grid;grid-template-columns:43% 57%;max-width:1280px;margin:auto;padding:0;text-align:left;min-height:230px;background:var(--cream);overflow:hidden}.about>div{padding:26px 20px 26px 58px}.about h2{font-size:30px;line-height:1.2;margin:0 0 12px}.about p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 14px}.about>a{border:0}.giftdee-footer{display:block;width:100%;max-width:none;padding:0;background:var(--teal);color:white;margin:0;border:0}.footer-inner{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:36px;padding:36px 58px 26px;align-items:start}.footer-inner .brand img{width:160px;height:70px}.footer-inner h3{font-size:12px;font-weight:700;color:white;letter-spacing:0;margin:0 0 9px}.footer-inner div>a{display:block;color:#d4e7e7;font-size:11px;line-height:1.9}.footer-inner>p{font-size:16px;line-height:1.5;border-left:1px solid #ffffff40;padding-left:35px;margin:9px 0}.footer-bottom{max-width:1280px;margin:auto;display:flex;justify-content:space-between;gap:16px;padding:0 58px 22px;font-size:10px;color:#c9dedd}.mobile-create{display:none}
/* Keep the existing bounded editor and all tools; restyle surfaces only. */
dialog{border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 90px #003d4a30}dialog::backdrop{background:#003f4b75}.custom-dialog .close,.cart-dialog .close{color:var(--teal);background:#fffaf1;border-radius:100px}.studio-header,.studio-footer,.studio-tools{background:#fffdf9}.studio-header h2{color:var(--teal)}#customForm .preview-side{background:#f5f0e6}.studio-tabs button{background:#f1ede5;color:var(--teal);border-radius:9px}.studio-tabs button[aria-selected=true]{background:var(--teal);color:white}.view-tabs button{background:#fffcf8;color:var(--teal);border-color:#dcd7cb}.view-tabs button[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal)}.studio-panel>p,#draftStatus,#conceptNotice{color:var(--muted)}.history-actions{background:#fffaf3;border-color:var(--line)}.history-actions button,.image-tool-buttons button,.edit-actions button,.text-adjust-actions button,.cart-edit,.print-size-download,.quiet-button,.order-page button{background:#fff8ec;border:1px solid #e3d9ca;color:var(--teal);border-radius:9px;min-height:40px}.preview-enlarge{background:#fffcf5!important;color:var(--teal)!important;border-color:var(--line)!important}.product-color-option{border-color:var(--line)}.product-color-option:has(input:checked){border-color:var(--teal);outline-color:var(--teal)}.size-table thead,.size-table thead th{background:#e9f2ee;color:var(--teal)}.size-table button{background:#eff4ee;color:var(--teal)}.size-table button[aria-pressed=true]{background:var(--teal);color:white}.size-table tr:has([aria-pressed=true]){background:#edf6f1}.cart-dialog h2{font-size:28px;line-height:1.3}.cart-dialog{background:#fffdf8}.quote-lines{background:#f5f0e6;border-radius:10px}.checkout-panel{border-color:var(--line)}#proofApproval{background:#eef5ef;border-radius:9px}.cart-faces img{background:#f4f0e9}.toast{background:var(--teal);color:white}.wide{width:100%}
.giftdee-subheader{max-width:1100px;border-bottom:1px solid var(--line);padding:12px 24px}.giftdee-subheader nav{gap:22px;font-size:12px;font-weight:600}.order-page{max-width:1100px;padding:32px 24px 60px;min-height:60vh}.order-page h1{font-size:36px;letter-spacing:-1px;line-height:1.2;margin:24px 0}.order-card{background:#fffdf9;border-color:var(--line);border-radius:16px}.order-page details{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fffaf1;margin:16px 0}.order-page summary{cursor:pointer;font-weight:600;color:var(--teal)}#adminLogin{max-width:480px;background:#fffdf9;border:1px solid var(--line);border-radius:14px;padding:24px}#adminLogin input{display:block;width:100%;margin-top:8px}#adminLogin button,#configForm>button{background:var(--orange);color:white;border-color:var(--orange);font-weight:700}#configFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.order-page #configFields label{line-height:1.7;margin:8px 0}.payment-amount{background:#fff2e2;border-radius:12px}.payment-amount strong{color:#d64600}.bank-pending{background:#f0f6f2;border-color:#d6e2da;border-radius:12px}#paymentState{color:var(--teal)}.payment-page .payment-box{border-top:4px solid var(--orange)}
.ai-page header{background:var(--cream);border-color:var(--line)}.ai-intro h1{font-size:46px;line-height:1.18;letter-spacing:-1.5px}.ai-badge{background:#edf5ef;color:var(--teal);border-color:#d6e5db}.ai-badge>span{color:var(--orange)}.ai-card{background:#fffdf9;border-color:var(--line);border-radius:16px}.ai-status{background:#fff3de;border-color:#ecdfc5;border-radius:12px}.step-title>span{background:var(--orange);color:white}.prompt-suggestions button,.style-grid label span,.sample-grid button{background:#fff7e9;border-color:var(--line);color:var(--teal)}.style-grid input:checked+span{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);background:#eff6f0}.sample-grid button[aria-pressed=true]{outline-color:var(--teal)}.ai-upload{background:#f6f0e5}.ai-next{border-color:var(--line)}#artEmpty>span{color:#b9d1c9}.ai-hero-link,.ai-card .quiet-button{color:var(--teal)}.helper,.ai-footnote{color:var(--muted)}
@media(min-width:701px) and (max-width:1050px){.giftdee-header{padding:14px 24px;gap:14px}.giftdee-header nav{gap:13px;font-size:11px}.giftdee-header .brand img{width:135px;height:54px}.hero-copy{padding-left:36px}.hero h1{font-size:58px}.hero-copy>p{font-size:14px}.hero,.hero-visual{min-height:410px}.benefits{margin-left:24px;margin-right:24px;padding:16px}.benefits>div{padding:0 5px;gap:10px}.recipient-section,.shop{padding:0 24px}.recipient-card>span{font-size:12px}.memory-banner>div,.about>div{padding-left:36px}.memory-banner h2{font-size:31px}.footer-inner{padding-left:36px;padding-right:36px;gap:24px}}
@media(max-width:700px){body{font-size:14px;padding-bottom:66px}.test-banner{font-size:9px;padding:5px 10px}.notice{font-size:10px;padding:5px 12px}.giftdee-header{padding:9px 16px;min-height:74px;gap:10px}.giftdee-header .brand img,.giftdee-subheader .brand img,.ai-page header .brand img{width:130px;height:52px}.giftdee-header>nav{display:none}.header-actions{margin-left:auto;gap:3px}.giftdee-header>a:not(.brand){display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:44px;height:44px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu>div{position:absolute;z-index:8;right:0;top:48px;width:245px;padding:10px;background:#fffdf8;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px #004a5520}.mobile-menu a{display:block;padding:12px;font-size:13px;border-radius:6px}.mobile-menu a:hover{background:#fff2df}
 .hero{margin:0 12px;min-height:0;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:12px}.hero-copy{padding:26px 0 27px 14px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px;line-height:1.6}.hero h1{font-size:clamp(30px,7.9vw,48px);letter-spacing:-1.5px;line-height:1.05;margin:12px 0 15px}.hero h1 .smile{width:28px;height:16px;margin-left:2px}.hero-copy>p{font-size:11px;line-height:1.65;margin-bottom:16px}.hero-copy>p br{display:none}.hero-actions{gap:0}.hero .button{padding:11px 13px;font-size:10px;gap:6px;white-space:nowrap;min-height:40px}.hero .text-link{display:none}.hero-visual{min-height:290px;overflow:hidden}.hero-visual>img{object-position:42% center}.image-caption{font-size:7px;right:4px;max-width:135px;text-align:right;bottom:4px}
 .benefits{margin:12px 12px 25px;padding:13px 8px;gap:8px;border-radius:12px}.benefits>div{display:block;padding:0 4px;border:0}.benefits img{width:26px;height:26px;margin-bottom:5px}.benefits strong{font-size:10px;line-height:1.45}.benefits small{font-size:8px;line-height:1.5;margin-top:4px}.recipient-section,.shop{padding:0 14px;margin-bottom:27px}.section-top{gap:8px;margin-bottom:12px}.section-top h2,.how h2{font-size:21px;line-height:1.3;letter-spacing:-.7px}.section-top .text-link{font-size:9px;max-width:80px}.section-top .smile,.how .smile{width:25px;height:16px;margin-left:3px}.recipient-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recipient-card{aspect-ratio:1.8;border-radius:9px}.recipient-card:first-child{grid-column:1/-1;aspect-ratio:4;max-height:110px}.recipient-card:first-child>img:first-child{object-position:center 54%}.recipient-card>span{font-size:12px;bottom:10px;left:10px}.recipient-card .recipient-arrow{bottom:8px;right:8px;width:23px;height:23px}.gift-chooser{padding:12px;margin-top:12px}.gift-chooser>div{gap:10px}.gift-chooser label{font-size:10px}.gift-chooser select{font-size:12px;min-height:40px;padding:8px}.gift-chooser button{font-size:9px;min-height:34px;padding:6px 8px}
 .ai-entry{padding:12px;gap:10px;flex-direction:row;align-items:center;margin-bottom:14px}.ai-entry strong{font-size:11px}.ai-entry p{font-size:9px;line-height:1.5}.ai-entry .button{font-size:10px;padding:8px 12px;white-space:normal;min-width:104px;min-height:40px}.shop-controls{gap:10px;margin-bottom:14px}.filters{gap:6px;flex-wrap:wrap}.filters button{font-size:10px;padding:8px 12px;min-height:36px}.search{width:100%;max-width:none}.search input{font-size:16px;min-height:44px!important}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card{padding-bottom:10px;border-radius:10px}.product-tag{font-size:8px;left:6px;top:6px;padding:3px 5px}.product-meta{padding:9px 10px 5px;gap:4px}.product-meta h3{font-size:11px;line-height:1.5;letter-spacing:0}.product-meta p{font-size:9px;line-height:1.6;margin:4px 0}.product-meta .price{font-size:16px;gap:3px;line-height:1.4}.product-meta .price small{font-size:8px}.product-card>.product-add{font-size:10px;margin:4px 10px 0;padding:9px;min-height:38px}.catalog-note{font-size:9px;margin-top:12px}
 .memory-banner{margin:0 14px;min-height:255px;border-radius:12px;grid-template-columns:48% 52%}.memory-banner>div{padding:22px 0 22px 15px}.memory-banner h2{font-size:23px;letter-spacing:-.7px;line-height:1.2;margin-bottom:12px}.memory-banner p{font-size:9px;line-height:1.55;padding-right:7px}.memory-banner p br{display:none}.memory-banner .button{font-size:10px;padding:10px 12px;gap:6px;min-height:40px}.memory-banner .smile{width:23px;height:14px;margin-left:0}.memory-banner .banner-photo{object-position:55% center}.how{padding:26px 14px}.how ol{grid-template-columns:1fr;gap:16px;margin-top:18px}.how li{gap:13px}.how li>img{width:50px;height:50px;padding:10px}.how li span{font-size:13px}.how li h3{font-size:13px;margin:3px 0}.how li p{font-size:10px}.about{margin:0 14px 20px;border-radius:12px;min-height:205px;grid-template-columns:48% 52%;background:#fff3e4}.about>div{padding:19px 0 19px 14px}.about h2{font-size:20px;line-height:1.2}.about p{font-size:9px;line-height:1.5;padding-right:7px}.about p br{display:none}.about .button{font-size:9px;padding:9px 11px;gap:5px;min-height:38px}.about .smile{width:22px;height:14px;margin-left:0}.about .banner-photo{object-position:44% center}.footer-inner{grid-template-columns:1fr 1fr;gap:20px;padding:26px 18px}.footer-inner .brand img{width:138px;height:66px}.footer-inner>p{font-size:12px;border-left:0;padding-left:0;margin:0;grid-column:2;grid-row:1}.footer-inner div>a{font-size:10px;line-height:2}.footer-bottom{display:block;padding:0 18px 23px;font-size:9px}.footer-bottom small{display:block;margin-top:5px}.mobile-create{display:flex;position:fixed;bottom:8px;left:14px;right:14px;z-index:5;font-size:12px;padding:12px 20px;gap:15px;box-shadow:0 0 0 8px #fffbf4f5;min-height:46px}
 dialog{border-radius:14px}#customDialog{border-radius:0}#customForm .studio-footer{padding-bottom:max(10px,env(safe-area-inset-bottom))}.studio-header h2{font-size:17px}.studio-footer .button{border-radius:100px}.has-size-guide .studio-tabs button{font-size:10px}.studio-panel input:not([type=checkbox]):not([type=radio]):not([type=range]),.studio-panel select{font-size:16px!important}.cart-dialog h2{font-size:23px}.giftdee-subheader{padding:10px 14px;gap:12px}.giftdee-subheader nav{gap:10px;font-size:10px;flex-wrap:wrap}.giftdee-subheader nav a:nth-child(2){display:none}.order-page{padding:22px 14px 35px}.order-page h1{font-size:29px}.order-page p{font-size:12px;line-height:1.7}#configFields{grid-template-columns:1fr}.payment-page .payment-layout{gap:16px}.payment-amount strong{font-size:32px}.ai-page header{padding:10px 14px}.ai-intro h1{font-size:33px;line-height:1.2}.ai-main{padding:26px 14px}.ai-card{padding:17px}.ai-status p{font-size:11px}.ai-page .ai-footnote{font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:1050px) and (min-width:701px){.header-search{width:120px}.giftdee-header nav{gap:10px;font-size:10px}.giftdee-header{gap:10px}}
@media(max-width:700px){.header-search{display:none}#focusSearch{display:flex}}
.ai-intro h1 em{color:var(--teal)}
.footer-inner>p{color:white}.footer-bottom small{color:#d1e4e3}
@media(min-width:1051px){.hero,.hero-visual{min-height:590px}.hero-copy{padding-left:76px}.hero h1{font-size:92px;font-weight:1000}.giftdee-header .brand img{width:190px;height:76px}.giftdee-header nav{font-size:13px;gap:17px}.benefits strong{font-size:15px}.benefits small{font-size:12px}}
@media(max-width:700px){.giftdee-header{min-height:66px;padding-top:7px;padding-bottom:7px}.giftdee-header .brand img{width:116px;height:46px}.hero-copy{padding-top:20px;padding-bottom:20px}.hero h1{font-size:clamp(32px,8.9vw,48px);font-weight:1000;margin:10px 0 12px}.hero-copy>p{font-size:10px;line-height:1.55;margin-bottom:12px}.hero-visual{min-height:260px}.hero .button{font-size:11px;padding:10px 11px}.benefits{margin-bottom:22px}}
@media(max-width:700px){body{padding-bottom:0}body:has(.mobile-create){padding-bottom:66px}.giftdee-subheader nav{display:flex}.filters button,.product-card>.product-add{min-height:44px}.product-card>.product-add{font-size:12px}.product-meta h3{font-size:13px}.product-meta p{font-size:10px}.product-meta .price{font-size:17px}}

.hero h1 .hero-logo-eyes{display:inline-block;width:76px;height:44px;object-fit:contain;vertical-align:baseline;margin-left:8px}@media(max-width:700px){.hero h1 .hero-logo-eyes{width:36px;height:21px;margin-left:4px}}

.hero h1 .hero-logo-eyes{width:76px;height:24px;vertical-align:middle}@media(max-width:700px){.hero h1 .hero-logo-eyes{width:40px;height:16px}}

/* Homepage demo covers only. Editor and cart mockups remain unchanged. */
.product-card .product-image.catalog-demo{position:absolute;inset:0;top:0;left:0;width:100%;height:100%;border-radius:0;background:none;mix-blend-mode:normal}.product-card .catalog-demo>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.product-card .product-tag{backdrop-filter:blur(6px)}

.phone-model-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.phone-model-filters label{min-width:0}#phoneModelControls[hidden]{display:none}#phoneModelHint{font-size:.85rem;margin:8px 0;color:var(--ink,#005765)}#phoneModelControls small{display:block;line-height:1.5} @media(max-width:420px){.phone-model-filters{grid-template-columns:1fr}}

#phoneModelControls:not([hidden]) ~ label:has(#customSize){grid-column:1 / -1}


.image-rotation input{width:100%;min-height:32px}.image-rotation-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.image-rotation small{display:block;line-height:1.5}.image-rotation-actions button{min-height:40px}

@media(min-width:1051px){.recipient-cards{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(min-width:701px) and (max-width:1050px){.recipient-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.recipient-card[data-recipient=pet]{grid-column:1/-1;aspect-ratio:4;max-height:110px}.recipient-card[data-recipient=pet]>img:first-child{object-position:center 65%}}
.catalog-pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:18px 0 28px}.catalog-pagination button{min-width:44px;min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--teal);cursor:pointer}.catalog-pagination button[aria-current=page]{background:var(--orange);color:white;border-color:var(--orange)}.catalog-pagination button:disabled{opacity:.4;cursor:default}.catalog-pagination button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.catalog-page-summary{text-align:center;font-size:13px;color:var(--muted);margin:18px 0 0}.catalog-pagination[hidden]{display:none}
/* Compact recipient strip, shared across all viewport sizes. */
.recipient-section .recipient-cards{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--teal) transparent;padding:3px 3px 8px;overscroll-behavior-x:contain}
.recipient-section .recipient-card{flex:1 0 148px;width:148px;height:116px;aspect-ratio:auto;max-height:none;grid-column:auto;scroll-snap-align:start}
.recipient-section .recipient-card>span{left:9px;bottom:10px;font-size:12px;max-width:calc(100% - 42px)}
.recipient-section .recipient-card .recipient-arrow{width:23px;height:23px;bottom:8px;right:7px}
.recipient-scroll-controls{display:flex;justify-content:flex-end;gap:8px;margin:-4px 0 8px}.recipient-scroll-controls[hidden]{display:none}
.recipient-scroll-controls button{width:44px;height:44px;border:1px solid var(--teal);border-radius:50%;background:var(--paper);color:var(--teal);font-size:21px;cursor:pointer}.recipient-scroll-controls button:disabled{opacity:.35;cursor:default}
.recipient-scroll-controls button:focus-visible,.recipient-section .recipient-card:focus-visible{outline:3px solid var(--orange);outline-offset:1px}
@media(max-width:700px){.recipient-section .recipient-cards{gap:9px}.recipient-section .recipient-card{flex-basis:124px;width:124px;height:98px}.recipient-section .recipient-card:first-child>img:first-child,.recipient-section .recipient-card[data-recipient=pet]>img:first-child{object-position:center}.recipient-scroll-controls{margin-bottom:5px}}

/* Approved original Giftdee artwork */
.giftdee-header>.brand{background:transparent;border-radius:10px;padding:0 10px}.giftdee-header>.brand img{width:168px;height:76px;object-fit:contain}@media(max-width:700px){.giftdee-header>.brand{padding:0 5px;border-radius:7px}.giftdee-header>.brand img{width:116px;height:52px}}

/* ready-shop.css */
.ready-hero,.ready-catalog{max-width:1200px;margin:auto;padding:40px 24px}.ready-hero{position:relative;min-height:440px;padding-right:48%;background:#fff8ee;border-radius:24px;margin-top:24px}.ready-hero h1{font-size:clamp(36px,5vw,64px);line-height:1.08;margin:18px 0}.ready-hero p{line-height:1.7;max-width:420px}.ready-hero>img{position:absolute;right:24px;top:16px;width:42%;height:400px;object-fit:contain;border-radius:20px}.ready-custom-link{display:block;margin-top:18px}.ready-note{padding:14px 18px;background:#fff1d8;border-radius:12px;font-size:13px;line-height:1.65}.ready-filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 16px}.ready-filters button{padding:12px 18px;border:1px solid var(--line);border-radius:30px;background:white;color:var(--teal);cursor:pointer}.ready-filters button[aria-pressed=true]{background:var(--orange);color:white;border-color:var(--orange)}.ready-search{display:block;max-width:450px;margin-bottom:24px}.ready-search input{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:14px;background:white}.ready-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.ready-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fffdf8;min-width:0}.ready-card>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff8ee}.ready-card>div{padding:16px}.ready-card h2{font-size:21px;line-height:1.25;margin:8px 0}.ready-card p{font-size:13px;margin:8px 0;line-height:1.5}.ready-card strong{color:var(--orange);display:block;margin:12px 0}.ready-card button{width:100%;min-height:44px}.ready-card small{color:var(--muted)}.ready-more{padding:28px;background:#eaf4f0;border-radius:20px;margin-top:36px}.ready-shop-page #customLanding[hidden]{display:none!important}.ready-shop-page .mobile-create{display:none}.ready-shop-page :focus-visible{outline:3px solid var(--orange);outline-offset:3px}@media(max-width:900px){.ready-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.ready-hero,.ready-catalog{padding:24px 16px}.ready-hero{margin:12px 12px 0;min-height:0}.ready-hero>img{position:static;width:100%;height:240px;margin-top:20px}.ready-hero h1{font-size:38px}.ready-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ready-card>div{padding:12px}.ready-card h2{font-size:18px}.ready-filters{gap:6px}.ready-filters button{font-size:12px;padding:10px 12px}.ready-more{padding:20px}.ready-catalog .section-top{align-items:flex-start;gap:8px}.ready-catalog .section-top h2{font-size:24px}}
#readyCount{display:block!important;font-size:13px;color:var(--muted)}
.ready-buy{width:min(960px,96vw);max-height:92dvh;overflow:auto;padding:24px;border:0;border-radius:20px;color:var(--teal);background:var(--paper)}.ready-buy::backdrop{background:#005a6177}.ready-buy form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ready-buy img{width:100%;border-radius:16px}.ready-buy>button{float:right;font-size:28px;background:transparent;border:0;color:var(--teal);min-width:44px;min-height:44px}.ready-buy label{display:block;margin:14px 0;line-height:1.5}.ready-buy input[type=number],.ready-buy input[type=search],.ready-buy select{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid var(--line);border-radius:9px;background:white}.ready-buy fieldset{border:1px solid var(--line);border-radius:12px}.ready-buy #readyColors{display:flex;flex-wrap:wrap;gap:8px}.ready-buy #readyColors label{display:flex;gap:6px;align-items:center;margin:4px;padding:8px;border:1px solid var(--line);border-radius:8px}.ready-buy #readyColors label:has(:checked){background:#eaf4f0;border-color:var(--teal)}.ready-side-buttons{display:flex;gap:8px}.ready-side-buttons button{padding:10px;border:1px solid var(--line);border-radius:8px;background:white}.ready-buy #readySizeTable{overflow:auto}.ready-buy table{border-collapse:collapse;font-size:12px}.ready-buy td,.ready-buy th{padding:8px;border:1px solid var(--line)}#readyBuyError{color:#b52043}#readySubmit{width:100%}.ready-buy [hidden]{display:none!important}.ready-buy p{font-size:14px;line-height:1.65}.ready-buy small{font-size:11px}@media(max-width:600px){.ready-buy{padding:16px}.ready-buy form{grid-template-columns:1fr;gap:16px}.ready-buy img{max-height:280px;object-fit:contain}.ready-card .button{font-size:12px;padding:10px 6px}}
#readySku{overflow-wrap:anywhere}
#readySku{display:none}
.ready-thumb{position:relative;aspect-ratio:1;overflow:hidden;background:#f4eadf}.ready-thumb img{display:block;width:100%;height:100%;object-fit:contain}.ready-thumb-mug{background:linear-gradient(135deg,#c5e1f0,#a9cee2)}.ready-thumb-tote{background:linear-gradient(135deg,#e6d9ed,#c9b8da)}.ready-thumb-keychain{background:linear-gradient(135deg,#ffe6ce,#f3c6a8)}.ready-thumb-frame{background:linear-gradient(135deg,#ffe4d6,#edc3b8)}.ready-thumb-tumbler{background:linear-gradient(135deg,#eee8dc,#d8d1c4)}.ready-thumb-portrait img{-webkit-mask-image:linear-gradient(to right,transparent 16.5%,#000 20%,#000 80%,transparent 83.5%);mask-image:linear-gradient(to right,transparent 16.5%,#000 20%,#000 80%,transparent 83.5%);transform:scale(1.06)}.ready-thumb-mug img{transform:scale(1.18)}
.ready-card>.ready-thumb{padding:0}.ready-thumb-keychain{background:linear-gradient(135deg,#f5d0d5,#e8b8c8)}.ready-thumb-tumbler{background:linear-gradient(135deg,#c5e1f0,#a9cee2)}
.ready-card .ready-details{background:#fff;color:var(--teal);border:1px solid var(--teal);margin-bottom:8px}.ready-gift-package{border:1px solid var(--line);border-radius:14px;padding:14px;margin:18px 0;background:#fff8ee}.ready-gift-package img{width:100%;height:auto;border-radius:10px}.ready-gift-package small{display:block;line-height:1.6;color:var(--muted)}#readyGiftMessage{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;resize:vertical;font:inherit;background:white;color:var(--teal)}.cart-gift-card{white-space:pre-wrap;overflow-wrap:anywhere}
.ready-card-actions{display:grid;grid-template-columns:.85fr 1.15fr;gap:8px;align-items:center;margin-top:14px}.ready-card .ready-card-actions .button{width:100%;min-width:0;min-height:40px;margin:0;padding:8px 10px;border-radius:12px;font-size:12px;line-height:1.3;white-space:nowrap;box-shadow:none}.ready-action-short{display:none}@media(max-width:600px){.ready-card-actions{gap:6px;grid-template-columns:1fr 1fr}.ready-card .ready-card-actions .button{min-height:44px;padding:7px 3px;font-size:11px;border-radius:10px}.ready-action-full{display:none}.ready-action-short{display:inline}}
.ready-card .ready-card-actions .button{gap:0;justify-content:center}.ready-card-actions .button span{font:inherit;line-height:inherit}
.ready-side-buttons{justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.ready-side-buttons button{font-size:12px;min-height:44px;padding:9px 12px}.ready-side-buttons button[aria-pressed=true]{background:#eaf4f0;border-color:var(--teal);color:var(--teal);font-weight:700}#readyViewHint{font-size:11px;text-align:center;line-height:1.6}#readyBuyPreview{background:#e8f0ed}
.gift-package-scene{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;align-items:center;padding:12px 0;background:radial-gradient(ellipse at center,#f9e6c6,#fff8ee);border-radius:12px}.gift-box-art svg{width:100%;height:auto;display:block}.gift-box-caption{display:block;font-size:11px;text-align:center;line-height:1.6;color:var(--teal);overflow-wrap:anywhere}.gift-card-demo{background:#fffdf7;border:1px solid #eadac1;box-shadow:0 5px 14px #60452414;border-radius:4px;padding:16px 12px;text-align:center;color:var(--teal);min-width:0}.gift-card-heart{color:var(--orange);font-size:26px}.gift-card-demo strong{display:block;font-size:13px;margin:5px 0}.gift-card-demo .gift-card-message{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;max-height:300px;overflow:auto}.gift-card-demo small{font-size:9px}.gift-card-caption{margin:8px 0;color:var(--muted)}@media(max-width:600px){.gift-package-scene{grid-template-columns:1fr;gap:8px}.gift-box-art{max-width:280px;margin:auto}.gift-card-demo{margin:0 12px}.gift-card-demo .gift-card-message{font-size:13px}}

/* Compact shop introduction: explicit columns instead of viewport-relative padding. */
.ready-shop-page .ready-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);align-items:center;gap:32px;min-height:0;padding:30px 40px;margin:20px auto 0;box-sizing:border-box}
.ready-hero-copy{min-width:0}.ready-shop-page .ready-hero .eyebrow{font-size:12px;line-height:1.6}.ready-shop-page .ready-hero h1{font-size:clamp(34px,3.5vw,50px);line-height:1.14;margin:12px 0 16px;max-width:680px}.ready-shop-page .ready-hero p{font-size:14px;line-height:1.7;max-width:600px;margin:0 0 20px}.ready-hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.ready-hero-actions .ready-custom-link{display:inline-block;margin:0;font-size:13px}.ready-hero-actions .button{min-height:44px;padding:12px 20px}.ready-hero-art{width:100%;max-width:300px;aspect-ratio:1;justify-self:center;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,#e6d9ed,#c9b8da)}.ready-hero-art img{display:block;width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(to right,transparent 16.5%,#000 20%,#000 80%,transparent 83.5%);transform:scale(1.04)}
@media(max-width:800px){.ready-shop-page .ready-hero{gap:20px;padding:26px;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr)}.ready-shop-page .ready-hero h1{font-size:36px}.ready-hero-art{max-width:230px}}
@media(max-width:600px){.ready-shop-page .ready-hero{grid-template-columns:minmax(0,1fr);gap:20px;margin:12px 12px 0;padding:22px 20px}.ready-shop-page .ready-hero h1{font-size:32px;line-height:1.16;margin:10px 0 14px}.ready-shop-page .ready-hero p{font-size:13px;margin-bottom:16px}.ready-hero-art{max-width:180px}.ready-hero-actions{gap:12px}.ready-hero-actions .button{font-size:12px}.ready-hero-actions .ready-custom-link{font-size:12px}}

.ready-card>.ready-thumb+div{padding:12px 14px}.ready-card>.ready-thumb+div h2{font-size:18px;line-height:1.25;margin:6px 0}.ready-card>.ready-thumb+div p{font-size:12px;line-height:1.45;margin:4px 0}.ready-card>.ready-thumb+div strong{margin:10px 0}.ready-card>.ready-thumb+div small{font-size:11px}

/* /legal.css */
.legal-page{margin:0}.legal-header{max-width:1200px;margin:auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px}.legal-header>a:last-child{font-size:13px}.legal-layout{max-width:1200px;margin:20px auto 50px;padding:0 28px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px}.legal-layout nav{display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:20px}.legal-layout nav a{padding:12px;border:1px solid var(--line);border-radius:12px;font-size:13px;text-decoration:none;background:#fffdf9}.legal-layout article{min-width:0}.legal-layout h1{font-size:36px;line-height:1.2}.legal-layout h2{font-size:22px;margin:26px 0 8px}.legal-layout p,.legal-layout li{font-size:14px;line-height:1.85;overflow-wrap:anywhere}.legal-alert{padding:16px 20px;background:#fff1d2;border:1px solid #ead7a2;border-radius:14px;color:#6c4f12}.legal-pending{color:#8a490a;background:#fff1d2;border-radius:4px;padding:1px 4px}.legal-review{margin-top:32px;padding:20px;background:#eaf5f0;border-radius:16px}.legal-footer{padding:24px 28px;max-width:1200px;margin:auto;border-top:1px solid var(--line);font-size:12px}.legal-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.legal-cards a{padding:20px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:#fffdf9}.legal-cards span{display:block;font-size:12px;margin-top:9px}.legal-links{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;padding:12px 0}.legal-links a{color:var(--teal);line-height:1.6}@media(max-width:700px){.legal-header{padding:14px 16px}.legal-header .brand img{width:125px;height:auto}.legal-header>a:last-child{font-size:11px}.legal-layout{display:block;padding:0 16px;margin-top:10px}.legal-layout nav{position:static;flex-direction:row;overflow:auto;margin-bottom:18px;padding-bottom:8px}.legal-layout nav a{flex:0 0 160px;font-size:12px;padding:10px}.legal-layout h1{font-size:28px}.legal-layout h2{font-size:20px}.legal-layout p,.legal-layout li{font-size:13px}.legal-cards{grid-template-columns:1fr}.legal-footer{padding:20px 16px}}
.giftdee-footer>.legal-links{max-width:1180px;margin:auto;padding:14px 28px}.giftdee-footer>.legal-links a{color:#fff}.member-footer>.legal-links{margin-bottom:12px}

/* cost-details.css */
.cost-details{margin:16px 0;color:#005a61;min-width:0}.cost-details h3{font-size:17px;margin:0 0 12px}.cost-details .cost-item{border:1px solid #dedbd1;border-radius:10px;padding:14px;margin:10px 0;background:#fffdf8;min-width:0}.cost-details h4{font-size:15px;margin:0 0 6px;overflow-wrap:anywhere}.cost-details .cost-item p{font-size:12px;margin:0 0 12px;line-height:1.6}.cost-details dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:9px 14px;font-size:12px;margin:0}.cost-details dt,.cost-details dd{margin:0;overflow-wrap:anywhere}.cost-details dd{text-align:right;font-variant-numeric:tabular-nums}.cost-details dt:last-of-type,.cost-details dd:last-child{font-weight:700;border-top:1px solid #e3dfd5;padding-top:9px}.cost-details .cost-explanation{font-size:11px;line-height:1.7;color:#637675;background:#f5f0e6;padding:12px;border-radius:8px}.quote-lines>span{min-width:0;overflow-wrap:anywhere}@media(max-width:420px){.cost-details .cost-item{padding:11px}.cost-details dl{grid-template-columns:1fr;gap:4px}.cost-details dd{text-align:left;margin-bottom:8px}.cost-details dt:last-of-type{padding-top:8px}.cost-details dd:last-child{border-top:0;padding-top:0}}

/* /audit-ux.css */
body>.giftdee-header{position:sticky;top:0;z-index:20;background:#fffbf4;transition:padding .18s,box-shadow .18s}@media(min-width:701px){body>.giftdee-header.is-scrolled{padding-top:5px;padding-bottom:5px;box-shadow:0 3px 16px #005b6112}body>.giftdee-header.is-scrolled .brand img{height:48px}}#toast[popover]{position:fixed;inset:auto 16px 24px;margin:auto;max-width:580px;width:calc(100% - 32px);height:auto;padding:16px 20px;background:#005b61;color:white;border:1px solid #d6e7de;border-radius:14px;box-shadow:0 8px 32px #003d4940;font-size:14px;line-height:1.6;transform:none;z-index:1000}#toast button{border:1px solid #fff;background:transparent;color:white;border-radius:24px;padding:10px 16px;min-height:44px;margin-left:12px;cursor:pointer}.cart-pulse{animation:gift-cart-pulse .4s ease-out}@keyframes gift-cart-pulse{50%{transform:scale(1.25)}}@media(prefers-reduced-motion:reduce){.cart-pulse{animation:none}}#modalFeeNote{display:block;max-width:36ch;font-size:12px;line-height:1.5;color:#526b6d}.text-color-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid #8a9292;margin-right:5px;vertical-align:middle}
@media(max-width:700px){main :is(p,small,span,label,button,a,input,select,textarea,summary,li,figcaption),.giftdee-header a,.giftdee-footer a,.benefits small,.benefits strong{font-size:max(12px,1em)!important}.hero-copy>p{font-size:12px}.hero .eyebrow{font-size:12px;letter-spacing:1px}.hero .button{font-size:12px;min-height:44px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body :is(button,summary){min-width:44px!important;min-height:44px!important}.giftdee-header a,main a,footer a{min-height:44px;display:inline-flex;align-items:center;max-width:100%}.product-meta h3 a{display:flex}.text-palette .swatches label{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.hero-copy{min-width:0}.hero .button{white-space:normal}.quote-lines{font-size:12px}.checkout-panel input,.checkout-panel select{max-width:100%;min-width:0}.cart-item{min-width:0}.item-right{overflow-wrap:anywhere}.studio-footer #modalFeeNote{font-size:12px}#provinceSearch{width:100%;min-height:44px;margin-bottom:10px}}

#modalFeeNote{grid-column:1/-1;max-width:none;order:3}.studio-upsell{order:4}.studio-footer>.error{order:5}

/* Readable notice and footer at every storefront breakpoint. */
.notice{font-size:12px!important}.footer-bottom,.footer-bottom small,.footer-inner div>a{font-size:12px!important}
@media(max-width:700px){.giftdee-footer :is(a,p,small,span,div),.notice{font-size:13px!important}.giftdee-footer h3{font-size:13px}.giftdee-footer .brand{max-width:100%}}

@media(max-width:700px){#cartCount,.ai-entry strong{font-size:12px!important}body #customDialog :is(p,small,label,legend,output,button),body #cartDialog :is(p,small,label,legend,output,button),body #customDialog .studio-panel label span{font-size:max(12px,1em)!important}}

@media(max-width:700px){body #cartDialog>.eyebrow{font-size:12px!important}}

/* Keep mobile editing space available; secondary content scrolls with the tools. */
.studio-upsell-link .studio-upsell-question{padding:0;background:none;color:inherit;border-radius:0;font:inherit;white-space:normal}
@media(max-width:700px){
 body #customDialog #customForm>.studio-footer{grid-template-columns:minmax(0,1fr) auto;padding:7px 12px max(7px,env(safe-area-inset-bottom));gap:0 10px;align-items:center}
 body #customDialog .studio-footer .purchase-row{gap:0;margin:0;min-width:0}
 body #customDialog .studio-footer .purchase-row small{display:block;font-size:12px!important;line-height:1.3;white-space:nowrap}
 body #customDialog .studio-footer .purchase-row strong{font-size:18px;line-height:1.3;margin-top:2px}
 body #customDialog .studio-footer>.button{min-width:140px;min-height:44px;padding:10px 12px;font-size:13px!important;line-height:1.3;gap:0}
 body #customDialog .studio-footer>.error:empty{display:none}
 body #customDialog .studio-header{padding:10px 52px 8px 16px}
 body #customDialog .studio-header :is(#draftStatus,#conceptNotice,#readyTemplateNote){font-size:12px!important;line-height:1.35;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body #customDialog .history-actions{padding:0 8px}
 body #customDialog .history-actions button{margin:2px;min-height:44px;padding:6px 9px;font-size:12px!important}
 body #customDialog .history-actions small{display:none}
 body #customDialog .studio-tabs{padding:4px 10px}
 body #customDialog .studio-tabs button{padding:6px;min-height:44px}
 body #customDialog .studio-mobile-fees{margin:10px 0;border-top:1px solid var(--line)}
 body #customDialog .studio-mobile-fees>summary{display:flex;align-items:center;min-height:44px;font-size:13px;cursor:pointer}
 body #customDialog .studio-mobile-fees #modalFeeNote{display:block;font-size:12px!important;line-height:1.5;padding-bottom:10px}
 body #customDialog .studio-upsell{margin:8px 0 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}
 body #customDialog .studio-upsell-link{min-height:44px;padding:5px 0;justify-content:flex-start;flex-wrap:nowrap;gap:0;text-align:left}
 body #customDialog .studio-upsell-link .studio-upsell-question{display:none}
 body #customDialog .studio-upsell-link>span:last-child{padding:0;background:none;color:var(--teal,var(--blue));border-radius:0;font-size:12px!important;white-space:normal}
 body #customDialog .studio-upsell #upsellStatus{font-size:12px!important;line-height:1.4;padding:0 0 8px}
}
@media(max-width:700px) and (min-height:551px){
 body #customDialog #customForm>.studio-workspace{grid-template:clamp(160px,29dvh,210px) minmax(0,1fr)/minmax(0,1fr)}
}


/* Larger default mobile preview, with editing tools and compact purchase bar retained. */
@media(max-width:700px) and (min-height:551px){
 body #customDialog #customForm:not(.preview-expanded)>.studio-workspace{
  grid-template:clamp(210px,40dvh,340px) minmax(0,1fr)/minmax(0,1fr)
 }
}


/* Expanded preview must occupy the whole workspace, including on short mobile screens. */
body #customDialog #customForm.preview-expanded>.studio-workspace{
 grid-template:minmax(0,1fr)/minmax(0,1fr)
}
body #customDialog #customForm.preview-expanded>.studio-workspace>.preview-side{
 grid-area:1/1;min-height:0;align-self:stretch;justify-self:stretch
}

@media(max-width:700px){.footer-inner>.brand,.footer-inner>p{align-self:center}.footer-inner>.brand{display:flex;align-items:center}.footer-inner>.brand img{display:block;max-width:100%;height:auto}}

.about .button img,.mobile-create img{display:none}
@media(max-width:700px){.about .button{white-space:nowrap;font-size:12px!important;padding:9px 7px;max-width:100%;justify-content:center}}
