@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Nunito:wght@700;800;900&family=Prata&display=swap');
:root{--wine:#72243b;--ink:#34272b;--muted:#78696d;--cream:#fffaf5;--gold:#e0ad3b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:18px}body{width:100%;max-width:480px;margin:0 auto;background:var(--cream);color:var(--ink);font:16px/1.55 Manrope,Arial,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;min-height:48px}a{color:inherit;text-decoration:none}button{border:0}button:disabled{opacity:.5;cursor:default}h1,h2,h3,p,figure{margin:0}h1,h2{font:400 32px/1.2 Prata,Georgia,serif;letter-spacing:-.035em}h3{font-size:20px}h1 em{font-style:normal;color:var(--wine)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e4ad37;outline-offset:3px}[hidden]{display:none!important}
header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 18px;border-bottom:1px solid #ead8dc;background:#fffaf5}.brand{display:flex;align-items:center;gap:9px;font:32px/1 Prata,Georgia,serif;color:var(--wine)}.brand-mark{width:43px;height:43px;flex-shrink:0}.brand small{display:block;font:11px/1.8 Manrope,Arial,sans-serif;letter-spacing:.05em}.header-cart{background:white;color:var(--wine);border:1px solid #ba8d9a;border-radius:30px;font-size:12px;font-weight:700;padding:9px 12px;white-space:nowrap}
.hero{position:relative;isolation:isolate;text-align:center;padding:26px 16px 24px;background:radial-gradient(ellipse at 10% 14%,#ffe0ea80,transparent 60%),radial-gradient(ellipse at 90% 63%,#ffe9ab70,transparent 65%),var(--cream);overflow:hidden}.occasion-heading{font-weight:800;font-size:22px;line-height:1.22;color:#c82c49;margin-bottom:18px}.hero h1{font-size:34px;line-height:1.25}.hero-subtitle{color:var(--wine);font-size:17px;font-weight:700;margin:16px 0 20px}.hero-picture{border-radius:18px;overflow:hidden;border:1px solid #efd7c0;background:#fff0dc;box-shadow:0 8px 28px #a6772a15}.hero-picture img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.hero-picture figcaption{padding:10px 8px;font-size:14px;color:var(--wine);font-weight:600}.no-prepay{margin:23px -16px 24px;padding:19px 8px;background:linear-gradient(100deg,#fff0b0,#ffe0b7,#fff0b0);color:var(--wine);font-weight:700;font-size:14px;line-height:1.5;border-top:1px solid #efd18a;border-bottom:1px solid #efd18a}.no-prepay strong{font-size:27px;font-weight:800}.simple-upload h2{font-size:28px}.simple-upload>p{margin:16px 0;font-size:18px}.simple-upload p b{display:block;color:var(--wine);font-size:26px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:14px 17px;border-radius:12px;font-weight:800;font-size:16px;line-height:1.4;text-align:center}.primary{background:linear-gradient(105deg,#a0264e,#72243b);color:white;box-shadow:0 5px 16px #72243b18}.secondary{background:#fff9f1;border:1px solid #d7b6c1;color:var(--wine)}.hero-cta{width:100%;font-size:20px;position:relative;overflow:hidden}.hero-cta::after{content:'';position:absolute;inset:-100% auto -100% -60%;width:30%;transform:rotate(20deg);background:linear-gradient(90deg,transparent,#fff5,transparent);animation:button-sheen 7s ease-in-out infinite}.simple-upload .free-note{font-size:15px;color:var(--muted);line-height:1.6}.hero-facts{display:flex;gap:8px;justify-content:center;margin-top:20px;font-size:13px}.hero-facts span{padding:8px 12px;background:white;border:1px solid #ead6c3;border-radius:30px}.hero-facts span:first-child{font-weight:800;color:var(--wine)}
.steps{display:flex;justify-content:space-between;gap:5px;padding:18px 12px;border-block:1px solid #ead4db;background:#fff4f6;font-size:12px;font-weight:700;color:var(--wine)}.steps a{display:flex;flex-direction:column;gap:7px;align-items:center;flex:1;text-align:center}.steps b{display:grid;place-items:center;width:30px;height:30px;background:var(--wine);border-radius:50%;color:white;font-size:15px}
.design-section,.gift-builder,.how,.delivery{position:relative;padding:36px 16px}.step-label{display:inline-block;background:#fff0c9;border:1px solid #e9c977;border-radius:20px;padding:5px 12px;font-size:12px;letter-spacing:.08em;font-weight:800;color:var(--wine);margin-bottom:15px}.section-intro{font-size:16px;color:var(--muted);margin:14px 0 20px}.section-intro b{color:var(--wine)}.design-filters{display:flex;gap:7px;margin:22px 0;position:sticky;top:0;background:#fffaf5f5;padding:9px 0;z-index:4}.design-filters button{flex:1;min-height:44px;border:1px solid #dcc3cb;border-radius:25px;background:white;color:var(--wine);font-size:12px;font-weight:700;padding:8px 10px}.design-filters .active{background:var(--wine);color:white;border-color:var(--wine)}.design-grid{display:grid;grid-template-columns:1fr;gap:20px}.design-card{border:1px solid #ead6d5;border-radius:16px;overflow:hidden;background:white;box-shadow:0 6px 20px #72243b08}.design-image{aspect-ratio:3/2;background:#f8f3eb;padding:5px}.design-image img{width:100%;height:100%;object-fit:contain;display:block}.design-info{padding:17px}.design-info h3{font-size:20px;line-height:1.3}.design-info p{font-size:14px;color:var(--muted);margin-top:6px}.design-info>div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px}.design-info b{color:var(--wine);font-size:19px}.design-info button{background:var(--wine);color:white;padding:12px 15px;border-radius:10px;font-size:14px;font-weight:800}.muted{color:var(--muted);font-size:13px}.catalog-note{margin-top:20px}
.gift-builder{background:linear-gradient(150deg,#fff0f4,#fff7e7);border-block:1px solid #ecd5d8}.child-card{background:#fffdfa;border:1px solid #e5cbd2;border-radius:17px;padding:17px;margin:22px 0;overflow:hidden}.child-heading{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:18px}.child-heading h3{font-size:23px}.child-heading h3 span{font-size:11px;letter-spacing:.1em;color:var(--wine)}.child-remove{background:transparent;color:#975b6d;font-size:12px;padding:4px;min-height:40px}.child-fields>label,#orderForm label{display:block;font-size:15px;font-weight:700;margin-bottom:16px}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;border:1px solid #d9c4cb;border-radius:9px;padding:13px;background:white;color:var(--ink);margin-top:7px;font-size:16px}textarea{resize:vertical}.child-upload{border:2px dashed #bd8d9d;border-radius:13px;padding:16px;background:#fff3f6;color:var(--wine)}.child-upload input{border:0!important;background:transparent!important;padding:6px 0!important;font-size:13px!important}.child-upload small{font-size:12px;display:block;color:var(--muted);font-weight:400;margin-top:7px}.upload-preview{display:flex;gap:8px;margin:12px 0}.upload-preview img{width:70px;height:70px;object-fit:cover;border-radius:10px}.color-options{display:flex;gap:9px;margin:10px 0 18px}.color-options label{flex:1;background:white;border:1px solid #ddc9d0;padding:11px;border-radius:25px;font-size:13px;text-align:center}.color-options label:has(input:checked){border-color:var(--wine);background:#fce8ef}.color-options input{accent-color:var(--wine)}.optional-options{margin:16px 0;border-block:1px solid #ead4dc}.optional-options summary{font-size:14px;padding:14px 0;cursor:pointer;color:var(--wine);font-weight:700}.optional-options label{display:block;margin:12px 0;font-size:14px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guardian-consent{display:flex!important;align-items:start;gap:9px;font-size:12px!important;font-weight:400!important;margin:18px 0!important;line-height:1.6}.guardian-consent input{flex-shrink:0;margin-top:5px;accent-color:var(--wine);width:18px;height:18px}.child-status{font-size:14px;font-weight:600;color:var(--wine);margin:14px 0}.child-status[data-busy=true]{padding:15px;border:1px solid #e8c66d;border-radius:10px;background:#fff0c8}.child-status[data-busy=true]::before{content:'✦ ';display:inline-block;animation:twinkle 4s ease-in-out infinite}.child-actions{display:flex;flex-direction:column;gap:10px}.child-actions button{width:100%}.child-preview{position:relative;margin-top:22px;background:#f7f2ea;border-radius:12px;overflow:hidden}.child-preview img{display:block;width:100%;height:auto}.open-preview{display:block;border:0;background:none;width:100%;padding:0;cursor:zoom-in}.preview-label{display:block;padding:12px;font-size:11px;color:var(--muted);text-align:center}.child-ready-badge{position:absolute;top:10px;left:10px;background:#fff5cf;color:var(--wine);border-radius:15px;padding:6px 10px;font-size:12px;font-weight:800}.add-child{width:100%;border-style:dashed;background:white}.builder-actions{margin-top:18px}.builder-actions .primary{width:100%}.builder-actions p{font-size:13px;color:var(--muted);margin-top:12px}#builderStatus{margin-top:14px;color:var(--wine);font-size:14px}
.how{text-align:center}.how>div{display:grid;gap:12px;margin-top:25px}.how article{padding:20px;border:1px solid #ecd9d0;background:#fffdfa;border-radius:13px}.how b{font-size:17px;color:var(--wine)}.how p{font-size:14px;color:var(--muted);margin-top:8px}.delivery{border-top:1px solid #ead8dc}.delivery h2{margin-bottom:25px}.delivery details{border-bottom:1px solid #e7d6da;padding:16px 0}.delivery summary{font-weight:700;font-size:16px;cursor:pointer}.delivery p{font-size:14px;margin-top:12px;color:var(--muted)}footer{padding:32px 18px;text-align:center;background:#72243b;color:white}footer .brand{display:block;color:white;font-size:30px}footer .brand small{display:inline}footer p{font-size:16px;margin:18px 0}footer>small{font-size:11px;opacity:.75;display:block}
dialog{width:min(94vw,600px);max-height:90dvh;overflow:auto;padding:24px 18px;border:1px solid #e0c6d0;border-radius:18px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#24121dbb;backdrop-filter:blur(3px)}dialog h2{font-size:27px;margin:12px 0 20px}.close{position:absolute;top:8px;right:10px;background:none;color:var(--wine);font-size:28px;z-index:2}#orderSummary{white-space:pre-line;padding:15px;border:1px solid #e8d4dc;border-radius:12px;margin-bottom:20px;font-size:14px}.honeypot{position:absolute;left:-9999px;opacity:0}.payment-options{border:0;padding:0;margin:20px 0}.payment-options legend{font-weight:800}.payment-options label{display:flex!important;gap:8px;padding:14px;border:1px solid #dfc4ce;border-radius:12px}.payment-options small{display:block;font-size:12px;color:var(--muted);font-weight:400}.payment-options label:has(input:disabled){opacity:.5}#sendOrder,#retryPayment{width:100%}#orderStatus{margin-top:15px;font-size:14px}
.cart-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.cart-heading button{background:none;color:var(--wine);font-size:12px}.cart-item{display:grid;grid-template-columns:95px 1fr;gap:13px;padding:18px 0;border-bottom:1px solid #ead6dc}.cart-item img{width:95px;height:95px;object-fit:contain;background:#f4eee5;border-radius:8px}.cart-item h3{font-size:15px}.cart-item p{font-size:15px;margin:7px 0}.cart-quantity{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cart-quantity button{padding:6px 10px;background:white;border:1px solid #dfcbd3;border-radius:7px;min-height:36px;color:var(--wine)}.cart-quantity .cart-remove{border:0;font-size:11px}.cart-total{font-size:22px;text-align:right;font-weight:800;margin:22px 0 12px}.cart-dialog>.primary{width:100%}.cart-notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:1500;background:var(--wine);color:white;padding:13px 20px;border-radius:25px;font-size:14px;width:max-content;max-width:94vw}
#photoDialog{width:100vw;max-width:none;height:95dvh;max-height:95dvh;padding:18px 10px}.photo-toolbar{display:flex;gap:9px;padding-right:40px;margin:15px 0}.photo-toolbar button{font-size:13px;min-height:44px;padding:10px}.photo-stage{overflow:auto;height:65dvh;touch-action:pan-x pan-y pinch-zoom}.photo-stage img{max-width:none;height:auto;display:block}#photoDialog p,#originalPhoto{font-size:12px;margin-top:12px}#originalPhoto{text-decoration:underline}
.site-sparkles{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:3;contain:strict}.site-sparkles span{position:absolute;left:var(--x);top:var(--y);font-size:var(--s);line-height:1;color:#dfa830;text-shadow:0 0 7px #fff6a5;opacity:.15;animation:twinkle var(--t) ease-in-out var(--d) infinite}.site-sparkles span:nth-child(3n){color:#b05a75}.site-sparkles span:nth-child(7n){color:#fff5bf}
.hero::before,.gift-builder::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle,#eec966aa 1px,transparent 1.8px),radial-gradient(circle,#fff 1px,transparent 2px);background-size:27px 39px,43px 51px;background-position:0 0,13px 21px;animation:glitter-breathe 6s ease-in-out infinite}
.hero-picture{position:relative}.hero-picture::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 20%,#fff9 0 1px,transparent 3px),radial-gradient(circle at 80% 72%,#fff9 0 1px,transparent 3px);background-size:51px 63px,79px 81px;animation:glitter-breathe 5s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.08;transform:translateY(5px) scale(.6) rotate(-10deg)}45%{opacity:.65;transform:translateY(-6px) scale(1.1) rotate(18deg)}75%{opacity:.25;transform:translateY(-12px) scale(.8) rotate(30deg)}}@keyframes glitter-breathe{0%,100%{opacity:.2}50%{opacity:.7}}@keyframes button-sheen{0%,70%{left:-60%}100%{left:150%}}
@media(max-width:360px){.hero h1{font-size:29px}.occasion-heading{font-size:20px}.no-prepay strong{font-size:23px}.steps{font-size:11px}.design-filters button{font-size:11px;padding:8px}.child-card{padding:13px}.brand{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-sparkles span,.hero::before,.gift-builder::before,.hero-picture::after,.hero-cta::after,.child-status::before{animation:none!important}.site-sparkles span{opacity:.24}.hero::before,.gift-builder::before,.hero-picture::after{opacity:.3}.hero-cta::after{display:none}}

.gift-builder{isolation:isolate}.batch-options[hidden]{display:none}.floating-cart{position:fixed;z-index:1000;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(448px,calc(100% - 24px));min-height:62px;border:1px solid #b96a82;border-radius:15px;background:linear-gradient(110deg,#a0264e,#72243b);color:white;padding:14px 18px;font-size:18px;font-weight:800;box-shadow:0 6px 25px #72243b44}.floating-cart[hidden]{display:none}body.has-cart{padding-bottom:calc(94px + env(safe-area-inset-bottom))}body.has-cart .cart-notice{bottom:calc(90px + env(safe-area-inset-bottom))}.photo-toolbar{display:none}.photo-stage{touch-action:pan-x pan-y}

/* A pink-to-blue fairytale background, without a white midpoint. */
html{background:linear-gradient(90deg,#f5b3d1 0%,#ddb8e8 50%,#a9d8f7 100%);background-attachment:fixed}
:root{--cream:#f6cee3}
body{background:linear-gradient(90deg,#f8c4dc 0%,#dfc7ee 50%,#b8dff8 100%)}
header,.hero,.gift-builder,.design-section,.how,.delivery{background:transparent}
.hero h1{font-family:Nunito,Arial,sans-serif;font-size:35px;line-height:1.13;letter-spacing:-.025em;font-weight:900;color:#702740;text-shadow:0 2px 0 #fce5f160}
.hero h1 em{color:#ad2755;font-family:inherit;font-weight:900}
.hero h1>span{display:block;font-size:27px;line-height:1.17;margin-top:10px;color:#284f82}
h2{font-family:Nunito,Arial,sans-serif;font-weight:900;letter-spacing:-.025em}
.steps,.design-filters{background:linear-gradient(90deg,#f4bcd7,#b4d9f6)}
.hero-picture{background:#dec9ec;border-color:#b28fc0}
.hero-picture figcaption{background:linear-gradient(90deg,#f5bbd6,#b7dafa)}
.design-card,.child-card,.how article{background:linear-gradient(110deg,#f9d5e7,#cee7fa);border-color:#cba5c3}
.design-image,.child-preview{background:linear-gradient(100deg,#f3c8dd,#bddff4)}
.header-cart,.hero-facts span,.design-filters button,.add-child,.secondary{background:#f5d7eb}
.design-filters .active{background:var(--wine)}
.child-upload{background:#f4c7e0}
input:not([type=checkbox]):not([type=radio]),select,textarea,.color-options label,.cart-quantity button{background:#e5dcf3}
@media(max-width:360px){.hero h1{font-size:31px}.hero h1>span{font-size:24px}}

.recipient-section{padding:36px 16px}.recipient-section h2{font-family:Nunito,Arial,sans-serif;font-weight:900}.recipient-options{display:grid;gap:12px;margin-top:24px}.recipient-options button{position:relative;min-height:70px;padding:17px 48px 17px 18px;text-align:left;border:2px solid #bc8eae;border-radius:16px;background:linear-gradient(110deg,#f8c9e2,#c5e2fa);color:var(--wine);font-family:Nunito,Arial,sans-serif;font-weight:900;font-size:23px;line-height:1.25;box-shadow:0 5px 12px #72243b0d}.recipient-options button span{position:absolute;right:18px;top:22px;color:#c28d29}.recipient-options button[aria-pressed=true]{border-color:var(--wine);box-shadow:0 0 0 3px #72243b18}.design-card.chosen{border:3px solid var(--wine);box-shadow:0 0 0 3px #ffe3ad80}.design-card.chosen .design-info button{background:#3c6757}.design-selection-dock{position:sticky;bottom:0;z-index:5;display:grid;gap:9px;padding:13px 6px max(13px,env(safe-area-inset-bottom));background:linear-gradient(90deg,#f5bfd9,#bedef6);border-radius:14px 14px 0 0;margin-top:20px;box-shadow:0 -5px 18px #72243b15;text-align:center}.design-selection-dock strong{color:var(--wine);font-size:18px}.design-selection-dock button{width:100%}body.has-cart .design-selection-dock{bottom:calc(86px + env(safe-area-inset-bottom))}

.select-all-designs{width:100%;margin:0 0 20px;font-size:18px}.shared-profile{padding:18px;border:1px solid #cba5c3;border-radius:16px;background:linear-gradient(110deg,#f9d5e7,#cee7fa)}.shared-profile>label{display:block;font-size:16px;font-weight:800;margin-bottom:16px}.batch-options{margin-bottom:24px}.child-card .child-heading h3{font-size:20px}


#checkoutFields{border:0;padding:0;margin:0;min-width:0}.checkout-field-error{display:block;color:#a03627;font-size:12px;line-height:1.5;margin-top:6px}#orderForm input[aria-invalid=true]{border-color:#b64735;background:#fff7f0}#orderStatus{white-space:pre-line;overflow-wrap:anywhere}


.photo-first .recipient-section{padding:24px 0}.photo-first .recipient-section h3{font-size:22px;line-height:1.3}.photo-first .builder-actions{display:grid;gap:12px}.photo-first .builder-actions button{width:100%}#profileStatus{margin-top:14px;color:var(--wine)}#editProfile{margin-top:18px}

.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.profile-fields>label{display:block;min-width:0;font-size:16px;font-weight:800}.profile-fields input{width:100%;min-width:0}@media(max-width:360px){.profile-fields{grid-template-columns:1fr}}
