/* Crafted Moments – personalization fields (uses the theme's --cm-* tokens, with fallbacks) */
.cm-pz { margin: 16px 0 18px; padding: 18px 20px; background: #fff; border: 1px solid var(--cm-line, #EBDFD7); border-radius: 18px; display: grid; gap: 14px; width: 100%; box-sizing: border-box; }
.cm-pz-title { margin: 0; font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: 22px; line-height: 1.2; }
.cm-pz-field { display: grid; gap: 6px; font-size: 15px; font-weight: 600; }
.cm-pz-field em { font-style: normal; font-weight: 400; color: var(--cm-muted, #857469); }
.cm-pz-field input[type=text], .cm-pz-field textarea { width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1.5px solid #E0D2C9; border-radius: 12px; font: inherit; font-weight: 400; background: #fff; color: var(--cm-ink, #3A2A24); }
.cm-pz-field input[type=text]:focus, .cm-pz-field textarea:focus { outline: 2px solid var(--cm-accent, #A8502F); outline-offset: 1px; border-color: transparent; }
.cm-pz-count { justify-self: end; font-weight: 400; color: var(--cm-muted, #857469); font-size: 12px; }
.cm-pz-logo { display: flex; align-items: center; gap: 14px; min-height: 60px; padding: 10px 14px; border: 2px dashed #D9C6BB; border-radius: 14px; cursor: pointer; font-weight: 500; }
.cm-pz-logo:hover { border-color: var(--cm-ink, #3A2A24); }
.cm-pz-logo-preview { width: 44px; height: 44px; border-radius: 8px; background: #F6EEE9 center / contain no-repeat; flex: none; }
.cm-pz-msg { font-weight: 400; color: var(--cm-muted, #857469); }
.cm-pz-msg.is-error { color: #8A2A1B; }
