.ct-app{max-width:1200px;margin:auto;padding:32px 24px 72px;color:var(--color-text,#292723)}
.ct-app .md-editor-intro{margin-bottom:36px}.ct-app .md-editor-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:64px;align-items:center}
.ct-app .md-editor-controls{padding:24px 0;background:transparent;border:0;box-shadow:none}.ct-app h2{font-size:26px;line-height:1.25;margin:0 0 12px}.ct-app label{display:block;font-weight:600;margin:28px 0 10px}
.ct-app input[type=text],.ct-app input:not([type]){width:100%;min-height:48px;font:inherit;font-size:18px;line-height:1.4;box-sizing:border-box;border:1px solid #aaa399;border-radius:6px;padding:10px 14px;background:#fff;color:#292723;caret-color:#292723}
.ct-app button:focus-visible,.ct-app input:focus-visible{outline:2px solid #514833;outline-offset:4px}.ct-app ::selection{background:#e8dcc2;color:#20201e}
.ct-app #ct-help{margin-top:10px}.ct-app input::placeholder{color:#716b61}.ct-app #ct-city:focus{border-color:#292723;background:#fffdf9}.ct-app #ct-help,.ct-app .ct-note{font-size:13px;line-height:1.6;color:#625d54}.ct-app #ct-error{color:#9b2828}.ct-price,.ct-preview-title{display:flex;justify-content:space-between;gap:16px}.ct-price{font-size:17px}.ct-price strong{white-space:nowrap}.ct-app .md-editor-purchase{border:0;padding:0;margin:24px 0 0;background:transparent}.ct-app .ct-price{margin-bottom:14px;align-items:baseline}.ct-app #ct-buy{display:block;width:100%;min-height:56px;background:#292723;color:white;border:0;border-radius:4px;font:inherit;font-weight:600;cursor:pointer}.ct-app #ct-buy:hover{background:#49443c}.ct-app button:disabled{opacity:.5;cursor:not-allowed}
.ct-app .ct-styles{border:0;padding:0;margin:28px 0 0;min-width:0}
.ct-styles legend{font:inherit;font-weight:600;padding:0;margin-bottom:10px}
.ct-style-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ct-app .ct-style-option{position:relative;margin:0;font-weight:400;cursor:pointer}
.ct-style-option input{position:absolute;width:1px;height:1px;opacity:0}
.ct-style-option span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #aaa399;border-radius:4px;background:#fff;color:#292723}
.ct-style-option:hover span{border-color:#292723;background:#f4f1ea}
.ct-style-option input:checked+span{border-color:#292723;background:#292723;color:#fff;font-weight:600}
.ct-style-option input:focus-visible+span{outline:2px solid #514833;outline-offset:4px}
.ct-app #ct-style-help{margin:10px 0 0;font-size:13px;line-height:1.6;color:#625d54}
.ct-app .ct-preview{background:#f4f1ea;padding:24px 32px;text-align:center;border:0;border-radius:0}.ct-preview-title{font-size:12px;color:#625d54}.ct-bag{position:relative;max-width:480px;margin:10px auto 0}/* Photo body bounds: x=156..796, y=507..1127 in 960x1200.
   Correct body to 38:42; centre the 30:30 print area with 4cm/6cm margins. */
.ct-bag>img{display:block;width:100%;height:auto;aspect-ratio:960/1369.10017;object-fit:fill}.ct-bag #ct-art{position:absolute;left:23.267544%;top:49.630952%;width:52.631579%;aspect-ratio:1;mix-blend-mode:multiply}.ct-bag #ct-art svg{display:block;width:100%;height:100%}.ct-app #ct-caption{font-size:14px;margin:14px 0 0}.ct-app .ct-preview .ct-note{margin:8px auto 0;max-width:38ch}
@media(max-width:767px){.ct-app{padding:24px 20px 48px}.ct-app .md-editor-layout{grid-template-columns:minmax(0,1fr);gap:24px}.ct-app .ct-preview{grid-row:1;padding:16px 20px}.ct-bag{max-width:250px}.ct-app .md-editor-controls{padding:0}.ct-app .md-editor-intro{margin-bottom:24px}.ct-app .md-editor-intro h1{font-size:32px}.ct-app h2{font-size:24px}}

.ct-properties{margin-top:28px;padding-top:20px;border-top:1px solid #ded9d1}
.ct-properties h3{font:inherit;font-size:14px;font-weight:600;margin:0 0 12px}
.ct-app .ct-properties table{width:100%;border:0;border-collapse:collapse;margin:0;font-size:14px;line-height:1.5}
.ct-app .ct-properties th,.ct-app .ct-properties td{padding:5px 0;border:0;background:transparent;text-align:left;vertical-align:top;font-style:normal}
.ct-app .ct-properties th{width:43%;font-weight:400;color:#625d54;padding-right:12px}
.ct-app .ct-properties td p{margin:0;padding:0;font-size:inherit;line-height:inherit}
.ct-app .ct-description{max-width:70ch;margin:56px auto 0;padding-top:32px;border-top:1px solid #ded9d1;line-height:1.7}
.ct-app .ct-description h2{margin:0 0 16px}
.ct-app .ct-description h3{font-size:20px;margin:28px 0 10px}
.ct-app .ct-description p{margin:0 0 16px}
.ct-app .ct-description a{text-decoration:underline;text-underline-offset:4px}
