:root{--paper:#fbf7f1;--ink:#35251f;--pink:#ead2c8;--muted:#75645b;--line:#ded3c8;--olive:#62674c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--olive);outline-offset:4px}button{color:var(--ink)}.announcement{text-align:center;background:var(--pink);padding:9px 20px;font-size:12px}.announcement span{margin-left:32px}.header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 5%;gap:20px}.header nav,.header-right{display:flex;align-items:center;gap:26px;flex:1;font-size:13px}.header-right{justify-content:flex-end}.brand{text-align:center;display:flex;flex-direction:column;line-height:1.05}.brand small{font-size:10px;letter-spacing:5px;margin:0 0 7px 5px}.brand strong{font:42px/.95 Georgia,serif;letter-spacing:-2px}.brand span{font-size:8px;letter-spacing:2px;margin-top:10px}.bag{border:1px solid var(--line);background:transparent;border-radius:30px;padding:10px 16px;min-height:44px}.bag span{margin-left:10px;display:inline-grid;place-items:center;background:var(--ink);color:var(--paper);width:24px;height:24px;border-radius:50%;font-size:12px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:570px;padding:18px 5% 52px;gap:6%}.hero-copy{padding:55px 0 10px}.signature{font:italic 20px/1.5 Georgia,serif;margin:0 0 18px;color:#775748}h1,h2,h3,p{margin-top:0}h1{font:clamp(50px,5.8vw,84px)/1.04 Georgia,serif;letter-spacing:-3px;margin-bottom:26px}h2{font:clamp(34px,3.5vw,49px)/1.12 Georgia,serif;letter-spacing:-1.4px;margin-bottom:18px}h3{font:24px/1.3 Georgia,serif}.hero-copy>p{color:var(--muted);line-height:1.85}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:20px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:15px 22px;min-height:50px;border:0;border-radius:3px;font-size:14px;transition:background .18s,transform .18s}.primary{background:var(--ink);color:var(--paper)}.primary:hover{background:#594034}.primary:active{transform:translateY(1px)}.text-link{background:none;border:0;border-bottom:1px solid currentColor;padding:4px 0;font-size:13px;min-height:44px;display:inline-flex;align-items:center}.hero-note{margin-top:38px;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:10px}.hero-note span{font:29px Georgia}.hero-image{position:relative;min-height:520px;border-radius:180px 180px 5px 5px;overflow:hidden;background:#bca88d}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:55% center;position:absolute}.hero-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#20170fc7)}.image-caption{position:absolute;bottom:25px;left:30px;color:white;z-index:1;font:24px Georgia}.image-caption span{display:block;font:12px Arial;margin-top:8px;letter-spacing:1px}.service-strip{display:flex;justify-content:center;gap:6%;padding:22px;border-block:1px solid var(--line);font-size:12px}.service-strip span:before{content:'◇';margin-right:13px;color:#8c6855}.section{max-width:1440px;margin:auto;padding:80px 5%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.section-heading>p{color:var(--muted);font-size:13px}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;margin:28px 0 18px;gap:20px}.filters{display:flex;gap:8px}.filters button{border:1px solid var(--line);background:transparent;border-radius:30px;padding:10px 21px;min-height:44px;font-size:13px}.filters .active{background:var(--ink);color:white;border-color:var(--ink)}.search input{border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 5px;max-width:210px}.demo-note{color:var(--muted);font-size:12px;margin-bottom:22px}.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.product-art{position:relative;aspect-ratio:1/1.06;background:#f0e6dd;overflow:hidden;border-radius:5px}.product-art svg{width:100%;height:100%}.product-art .badge{position:absolute;top:13px;left:13px;padding:4px 10px;background:#fbf7f1e8;border-radius:20px;font-size:11px}.product h3{font-size:23px;margin:16px 0 4px}.product p{font-size:12px;color:var(--muted);margin-bottom:14px}.product-bottom{display:flex;justify-content:space-between;align-items:center;font-size:14px}.add{border:1px solid var(--line);background:transparent;width:44px;height:44px;border-radius:50%;font-size:23px}.add:hover{background:var(--pink)}.custom-section{display:grid;grid-template-columns:1fr 1fr;background:var(--pink);margin:15px 5% 0;max-width:1296px;border-radius:6px;overflow:hidden}.custom-art{background:#e2beb2;min-height:440px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden}.custom-art:before,.custom-art:after{content:'';position:absolute;width:85%;height:80%;border:1px solid #a36f5c55;border-radius:50%;transform:rotate(-25deg)}.custom-art:after{transform:rotate(25deg)}.occasion{font:55px/1.05 Georgia;text-align:center;z-index:1}.drawn-heart{font:65px/1 Georgia;margin-bottom:20px}.tiny{font:italic 18px Georgia;margin-top:25px}.custom-copy{padding:55px 12%}.custom-copy>p{font-size:14px}.custom-copy .signature{font-size:19px}.custom-copy ul{list-style:none;padding:0;font-size:13px;margin:25px 0}.custom-copy li{margin:9px 0}.custom-copy li:before{content:'✓';margin-right:12px}.visit{display:flex;justify-content:space-between;gap:40px}.visit p{color:var(--muted)}.visit-info{padding:10px 0;min-width:32%}.visit-info a{border-bottom:1px solid var(--line);display:inline-block;padding-bottom:10px;margin-bottom:18px}.visit-info p,.visit-info span{font-size:13px}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}footer .brand strong{font-size:32px}footer p{font-size:12px;color:var(--muted);margin:0}dialog{color:var(--ink);background:var(--paper);border:0;border-radius:12px;padding:28px;width:min(540px,calc(100% - 24px));max-height:90dvh;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#241b1680;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.dialog-head h2{font-size:32px}.dialog-head>button{background:transparent;border:1px solid var(--line);border-radius:50%;width:44px;height:44px;font-size:28px;flex-shrink:0}label{display:flex;flex-direction:column;gap:7px;font-size:13px;margin:14px 0}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);padding:11px;min-height:44px}textarea{resize:vertical}.help{font-size:12px;color:var(--muted);margin:16px 0}.payment{background:#eee5dc;padding:15px;border-radius:5px;margin:20px 0}.payment p{font-size:12px;margin:5px 0 0}.full{width:100%}.total{display:flex;justify-content:space-between;padding:20px 0;border-block:1px solid var(--line);margin:20px 0}.cart-item{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.cart-item small{display:block;color:var(--muted)}.quantity{display:flex;align-items:center;gap:8px}.quantity button{width:44px;height:44px;background:none;border:1px solid var(--line);border-radius:50%}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:white;padding:13px 24px;border-radius:5px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:10;max-width:90%;font-size:13px}.toast.visible{opacity:1;transform:translate(-50%,0)}.admin-dialog{width:min(800px,calc(100% - 24px))}.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.admin-summary>div{background:#eee5dc;padding:15px}.admin-summary span{font-size:12px;display:block}.admin-summary strong{font:25px Georgia;display:block;margin-top:8px}.admin-row{display:grid;grid-template-columns:1fr 90px 95px;gap:14px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.admin-row label{margin:0;font-size:11px}.admin-row>span{font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}details{margin-top:25px}summary{cursor:pointer;padding:15px 0;min-height:44px}.reset{margin-top:20px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:12px;z-index:50}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#order-result{white-space:pre-line;padding-top:16px}#custom-result{white-space:pre-line;margin-top:20px}@media(min-width:1440px){.custom-section{margin-inline:auto}}@media(max-width:900px){.header nav{gap:13px}.header-right>a{display:none}.hero{gap:5%;min-height:0}.hero-copy{padding-top:35px}.hero-image{min-height:480px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions{gap:12px}.custom-copy{padding:40px 8%}.occasion{font-size:45px}.service-strip{gap:20px;flex-wrap:wrap}}@media(max-width:600px){.announcement{font-size:11px}.announcement span{display:none}.header{padding:22px 5%}.header nav{display:none}.header>.brand{margin-right:auto}.brand strong{font-size:34px}.brand small{font-size:8px}.brand span{font-size:7px}.header-right{flex:0}.bag{white-space:nowrap;font-size:12px;padding:8px 12px}.hero{grid-template-columns:1fr;padding-top:0;padding-bottom:32px;gap:25px}.hero-copy{padding:24px 0 0}h1{font-size:57px;letter-spacing:-2.5px}.hero-copy>p{font-size:14px}.hero-actions{margin-top:22px}.hero-note{margin-top:18px}.hero-image{min-height:340px;border-radius:150px 150px 5px 5px}.image-caption{font-size:22px}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:10px;padding:20px 5%}.service-strip span:before{margin-right:6px}.section{padding:50px 5%}.section-heading{display:block}.section-heading>p{display:none}.signature{font-size:18px}.catalog-toolbar{align-items:stretch;flex-direction:column;gap:5px}.filters{gap:6px}.filters button{padding:9px 15px;font-size:12px}.search{margin:5px 0}.search input{max-width:none}.products{gap:25px 14px}.product h3{font-size:21px}.product p{min-height:38px}.product-art .badge{left:8px;top:8px;font-size:10px}.demo-note{font-size:11px}.custom-section{grid-template-columns:1fr;margin-top:0}.custom-art{min-height:300px}.occasion{font-size:42px}.drawn-heart{font-size:44px;margin-bottom:10px}.tiny{margin-top:15px}.custom-copy{padding:35px 8%}.visit{flex-direction:column;gap:15px}footer{flex-direction:column;text-align:center;padding-bottom:30px}.admin-summary{gap:5px}.admin-summary>div{padding:10px}.admin-summary strong{font-size:19px}.admin-row{grid-template-columns:1fr 75px 75px;gap:8px}dialog{padding:20px}.cart-item{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Storefront imagery and photo editor */
.cover-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding-bottom: 30px;
  background: radial-gradient(ellipse at 50% 30%, #f6e9d9, #e2bdb2 82%);
  color: var(--ink);
}
.cover-placeholder > span { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; }
.cover-placeholder strong { font: clamp(62px, 8vw, 122px)/.95 Georgia, serif; letter-spacing: -.055em; }
.cover-placeholder .cover-heart { margin-top: 16px; font: 34px Georgia, serif; }
.cover-placeholder[hidden], .photo-preview[hidden] { display: none; }
.product-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.photo-settings { margin: 20px 0 26px; border-block: 1px solid var(--line); }
.photo-settings summary { font-weight: bold; }
.photo-settings select { max-width: 360px; }
.photo-preview { display: block; width: 150px; height: 110px; object-fit: cover; border-radius: 4px; }
.photo-settings button[hidden] { display: none; }

.analytics-settings { padding: 16px 5%; border-block: 1px solid var(--line); }
.analytics-settings > p { margin-bottom: 8px; }
.analytics-settings button + button { margin-left: 16px; }
.setup-key { overflow-wrap: anywhere; }
.publish-actions { margin: 24px 0 0; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.publish-actions p { flex-basis: 100%; margin: 0; }
.publish-actions[hidden], .reset[hidden] { display: none; }
