@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";:root{color:#20352f;font-synthesis:none;--green:#173f35;--green-2:#245b4d;--cream:#fcfaf5;--paper:#fffdf8;--red:#a9443c;--gold:#c99a4b;--ink:#20352f;--muted:#6f7d77;--line:#dfe5df;background:#fcfaf5;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--cream);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #d3a654}h1,h2,p{margin-top:0}h1,.product-info h2{font-family:Playfair Display,Georgia,serif}.app{min-height:100vh}.page-shell{width:min(1140px,100% - 32px);margin:0 auto}.site-header{z-index:10;background:#fffdf8f5;border-bottom:1px solid #e9e4d8;justify-content:space-between;align-items:center;height:76px;padding:0 max(24px,50% - 570px);display:flex;position:relative}.brand{color:var(--green);background:0 0;border:0;align-items:center;gap:11px;padding:0;font:700 22px Playfair Display,Georgia,serif;display:flex}.brand em{color:var(--red);font-style:normal}.brand-mark{color:#fffaf0;background:var(--green);border-radius:50% 50% 45% 55%;place-items:center;width:35px;height:35px;font:700 18px Georgia,serif;display:grid;transform:rotate(-6deg)}.secure-note{color:#60736b;letter-spacing:.02em;font-size:13px}.secure-note span{color:var(--gold)}.breadcrumbs{color:#7d8680;padding:24px 0;font-size:13px}.breadcrumbs span{color:#b3b9b5;margin:0 9px}.product-grid{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:center;gap:clamp(36px,7vw,88px);padding:8px 0 74px;display:grid}.product-visual{background:radial-gradient(circle at 50% 35%,#fffffff0,#f4eddec2 45%,#e2ece3cc),repeating-linear-gradient(135deg,#0000 0 34px,#74917b0d 34px 35px);border-radius:30px;flex-direction:column;justify-content:center;align-items:center;min-height:610px;display:flex;position:relative;overflow:hidden}.product-visual:before,.product-visual:after{content:"✦";color:#a9443c2e;font-size:42px;position:absolute}.product-visual:before{top:18%;left:12%}.product-visual:after{font-size:28px;bottom:23%;right:11%}.bestseller{color:var(--red);text-transform:uppercase;letter-spacing:.08em;background:#fffdf7;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:700;position:absolute;top:22px;left:22px;box-shadow:0 5px 20px #283e3614}.ornament-scene{aspect-ratio:.82;justify-content:center;align-items:flex-end;width:min(78%,430px);display:flex;position:relative}.ornament-string{background:linear-gradient(#c99a4b,#9a732f);width:2px;height:25%;position:absolute;top:0;left:50%}.ornament-cap{z-index:2;background:linear-gradient(90deg,#9f7a32,#e6c872 38%,#b58b39 70%,#8a6728);border-radius:9px 9px 3px 3px;width:21%;height:14%;position:absolute;top:19%;left:50%;transform:translate(-50%);box-shadow:0 5px 7px #24271f33}.ornament-cap span{aspect-ratio:1;border:4px solid #b38936;border-bottom:0;border-radius:50% 50% 0 0;width:42%;position:absolute;top:-52%;left:50%;transform:translate(-50%)}.ornament{aspect-ratio:1;isolation:isolate;touch-action:none;background:#285547;border:6px solid #efe2bf;border-radius:50%;width:86%;position:absolute;bottom:2%;left:7%;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff8c,0 20px 45px #273b333d,0 3px 7px #1f2d2733;container-type:inline-size}.ornament.draggable{cursor:grab;border-style:dashed}.ornament.draggable:active{cursor:grabbing}.ornament img{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;max-width:none;height:100%;position:absolute;top:50%;left:50%}.ornament-placeholder{color:#e7c975;background:radial-gradient(circle at 42% 30%,#397362,#173f35 68%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.placeholder-sprig{font-size:clamp(75px,12vw,120px);transform:rotate(-12deg)}.placeholder-stars{letter-spacing:10px;font-size:24px}.ornament-shade{z-index:2;pointer-events:none;background:linear-gradient(#0000 42%,#0a1d18c7 100%),radial-gradient(circle at 28% 18%,#ffffff38,#0000 25%);position:absolute;inset:0}.ornament-copy{z-index:3;color:#fffaf0;text-align:center;text-shadow:0 2px 8px #00000073;pointer-events:none;position:absolute;inset:0}.ornament-name,.ornament-year{width:var(--copy-max-width);white-space:nowrap;line-height:1;position:absolute;left:50%;transform:translate(-50%)}.ornament-name{bottom:var(--name-bottom);font:700 var(--name-font-size) "Playfair Display", Georgia, serif}.ornament-year{bottom:var(--year-bottom);font-family:DM Sans,Arial,sans-serif;font-size:var(--year-font-size);letter-spacing:var(--year-letter-spacing);font-weight:600}.drag-hint{color:#6f7d77;font-size:12px;position:absolute;bottom:-34px}.thumbnail-row{gap:8px;display:flex;position:absolute;bottom:22px;left:25px}.thumb{color:#778079;background:#ffffffb3;border:1px solid #ddd6c8;border-radius:9px;place-items:center;width:54px;height:48px;font-size:10px;display:grid}.thumb.active{border:2px solid var(--green);color:var(--green);font-weight:700}.product-info{padding-right:14px}.eyebrow,.step-label{color:var(--red);text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px;font-size:12px;font-weight:700}.product-info h1{color:var(--green);letter-spacing:-.035em;margin-bottom:18px;font-size:clamp(38px,4.2vw,58px);line-height:1.04}.rating{color:#66766f;font-size:13px}.rating span{color:var(--gold);letter-spacing:2px;margin-right:7px}.price{color:var(--green);margin:24px 0 20px;font-size:25px;font-weight:700}.price span{color:#46745f;vertical-align:middle;background:#eaf2eb;border-radius:6px;margin-left:10px;padding:6px 9px;font-size:11px;font-weight:700}.description{color:#52645d;font-size:16px;line-height:1.7}.feature-list{border-top:1px solid var(--line);margin:25px 0 28px;padding:0;list-style:none}.feature-list li{color:#43564f;padding:10px 0 0}.feature-list span{color:var(--gold);margin-right:8px;font-weight:700}.primary-button,.secondary-button{border:0;border-radius:12px;width:100%;min-height:49px;padding:13px 18px;font-weight:700;transition:transform .18s,background .18s,box-shadow .18s}.primary-button{color:#fffdf7;background:var(--green);box-shadow:0 8px 18px #173f352e}.primary-button:hover{background:var(--green-2);transform:translateY(-1px)}.primary-button.large{justify-content:center;align-items:center;gap:18px;min-height:58px;display:flex}.secondary-button{color:var(--green);background:#fff;border:1px solid #bdcac4}.reassurance-row{color:#7c8882;justify-content:center;gap:24px;margin-top:18px;font-size:11px;display:flex}.text-button{color:var(--green);text-underline-offset:4px;background:0 0;border:0;padding:3px 0;font-weight:700;text-decoration:underline}.text-button.muted{color:#7e8984}.back-button{margin-top:22px;font-size:13px;text-decoration:none}.editor-page{padding-bottom:70px}.editor-heading{justify-content:space-between;align-items:end;margin:20px 0 28px;display:flex}.editor-heading h1,.success-heading h1{color:var(--green);margin:0;font-size:clamp(34px,5vw,52px)}.editor-heading>p{color:var(--muted);margin:0 0 7px;font-size:13px}.editor-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start;gap:32px;display:grid}.preview-panel,.controls-panel,.order-card{background:var(--paper);border:1px solid #e1e5df;border-radius:22px}.preview-panel{background:radial-gradient(circle at 50% 43%,#fff 0,#f1ede2 48%,#e4eee8 100%);flex-direction:column;align-items:center;min-height:690px;padding:24px;display:flex;position:sticky;top:18px}.panel-label{justify-content:space-between;align-items:center;width:100%;display:flex}.panel-label h2{font-size:14px}.panel-label span{color:#65736d;background:#fff;border-radius:999px;padding:6px 12px;font-size:11px}.preview-panel .ornament-scene{width:min(90%,460px);margin:auto}.preview-note{color:#79847f;text-align:center;margin:25px 0 0;font-size:11px}.controls-panel{padding:29px;box-shadow:0 14px 35px #30443b12}.control-section+.control-section{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.control-title{align-items:start;gap:12px;margin-bottom:18px;display:flex}.control-title>span{width:28px;height:28px;color:var(--green);background:#e9f0eb;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.control-title h2{margin:1px 0 3px;font-size:16px}.control-title p{color:var(--muted);margin:0;font-size:12px}.upload-button{width:100%;min-height:78px;color:var(--green);background:#fbfcf9;border:1.5px dashed #aebdb5;border-radius:12px;justify-content:center;align-items:center;gap:13px;font-weight:700;display:flex}.upload-button>span:first-child{background:#e8f0eb;border-radius:50%;place-items:center;width:34px;height:34px;font-size:20px;display:grid}.upload-button>span:last-child{text-align:left}.upload-button small{color:#7d8983;text-overflow:ellipsis;white-space:nowrap;max-width:230px;margin-top:3px;font-size:10px;font-weight:500;display:block;overflow:hidden}.photo-controls{margin-top:18px}.photo-controls label{justify-content:space-between;font-size:12px;font-weight:700;display:flex}.photo-controls output{color:#66756e;font-weight:500}.photo-controls input{width:100%;accent-color:var(--green);margin:12px 0}.photo-controls .text-button{font-size:11px}.field-grid{grid-template-columns:1fr 112px;gap:13px;display:grid}.field-grid label{color:#43544e;font-size:12px;font-weight:700;position:relative}.field-grid input{width:100%;color:var(--green);background:#fff;border:1px solid #cfd8d2;border-radius:9px;margin-top:7px;padding:12px 13px}.field-grid label small{color:#9aa39f;font-size:9px;font-weight:400;position:absolute;bottom:13px;right:10px}.field-grid label:first-child input{padding-right:45px}.validation-box{color:#873d37;background:#fff3f0;border:1px solid #e4b5ad;border-radius:10px;margin:22px 0 16px;padding:12px 14px;font-size:12px}.validation-box strong{margin-bottom:6px;display:block}.validation-box p{margin:3px 0}.field-error{color:#9b3e37;margin:8px 0 0;font-size:12px}.controls-panel>.primary-button{margin-top:24px}.microcopy{text-align:center;color:#84908b;margin:9px 0 0;font-size:10px}.success-heading{text-align:center;max-width:650px;margin:50px auto 32px}.success-mark{color:#2e6a52;background:#dcebe1;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 14px;font-size:22px;display:grid}.success-heading .step-label{margin-bottom:8px}.success-heading>p:last-child{color:var(--muted);margin:12px 0 0;line-height:1.6}.confirmation-grid{grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);align-items:center;gap:34px;padding-bottom:80px;display:grid}.approved-preview{background:radial-gradient(circle at 50% 40%,#fff,#eee9db 52%,#dce8df);border-radius:25px;place-items:center;min-height:630px;display:grid;position:relative}.approved-preview .ornament-scene{width:min(75%,410px)}.approved-ribbon{z-index:4;color:#6a7872;background:#fffdf8;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700;position:absolute;top:22px;left:22px;box-shadow:0 5px 15px #22393014}.order-card{padding:30px;box-shadow:0 15px 38px #2b3e3614}.order-product{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding-bottom:22px;display:flex}.order-product p{letter-spacing:.1em;color:var(--red);margin:0 0 5px;font-size:10px;font-weight:700}.order-product h2{color:var(--green);margin:0 0 5px;font:700 25px Playfair Display,Georgia,serif}.order-product span{color:#7a8580;font-size:11px}.order-product>strong{color:var(--green)}.order-meta{border-bottom:1px solid var(--line);margin:0;padding:20px 0}.order-meta div{justify-content:space-between;margin:8px 0;font-size:12px;display:flex}.order-meta dt{color:#7d8883}.order-meta dd{color:var(--green);margin:0;font-weight:700}.status-list{padding:17px 0}.status-list>div{gap:12px;margin:12px 0;display:flex}.status-list>div>span{color:#28604a;background:#dcece2;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:12px;font-weight:700;display:grid}.status-list p{margin:0;font-size:12px}.status-list small{color:#7d8883;margin-top:3px;line-height:1.4;display:block}.download-actions{gap:10px;display:grid}.edit-actions{justify-content:space-between;margin-top:22px;font-size:12px;display:flex}footer{background:var(--green);color:#eef3ef;align-items:center;gap:28px;min-height:116px;padding:27px max(24px,50% - 570px);display:flex}footer>span{font:700 18px Playfair Display,Georgia,serif}footer p{color:#c7d3ce;margin:0;font-size:12px}footer small{color:#9fb2aa;margin-left:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=840px){.product-grid,.editor-grid,.confirmation-grid{grid-template-columns:1fr}.product-visual{min-height:540px}.product-info{padding:0 6px}.preview-panel{min-height:580px;position:relative;top:0}.confirmation-grid{max-width:620px;margin:0 auto}.approved-preview{min-height:560px}}@media (width<=560px){.page-shell{width:min(100% - 24px,1140px)}.site-header{height:64px;padding:0 15px}.secure-note{display:none}.brand{font-size:19px}.brand-mark{width:31px;height:31px}.breadcrumbs{padding:16px 2px}.product-grid{gap:28px;padding-top:0}.product-visual{border-radius:20px;min-height:430px}.product-visual .ornament-scene{width:86%}.thumbnail-row{bottom:12px;left:15px}.thumb{width:46px;height:39px}.product-info h1{font-size:38px}.reassurance-row{flex-wrap:wrap;gap:12px}.editor-heading{margin-top:17px;display:block}.editor-heading>p{margin-top:10px}.editor-grid{gap:18px}.preview-panel{min-height:460px;padding:16px}.preview-panel .ornament-scene{width:min(94%,360px)}.controls-panel,.order-card{border-radius:17px;padding:20px}.field-grid{grid-template-columns:1fr}.field-grid label small{bottom:13px}.success-heading{margin:35px auto 25px}.success-heading h1{font-size:38px}.approved-preview{min-height:470px}.approved-preview .ornament-scene{width:88%}.order-meta div{display:block}.order-meta dd{overflow-wrap:anywhere;margin-top:3px}.confirmation-grid{padding-bottom:55px}footer{flex-direction:column;align-items:flex-start;gap:8px}footer small{margin:3px 0 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.resolution-warning{color:#755b25;background:#fff9e9;border:1px solid #e5cf9b;border-radius:10px;margin-top:12px;padding:11px 13px;font-size:11px;line-height:1.45}.resolution-warning strong{margin-bottom:3px;display:block}.resolution-warning p{margin:0}.upload-button{cursor:pointer}.upload-control{position:relative}.upload-input{z-index:2;opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-input:focus-visible+.upload-button{outline-offset:3px;outline:3px solid #d3a654}
