/* v12 product UI — designed to extend the stable v11.4 layout */
:root{--v12-green:#174734;--v12-ink:#142b22;--v12-gold:#b18a4a;--v12-line:#e0e6df}
.v12-steps{display:flex;gap:8px;margin:24px 0 12px;padding:8px;background:#edf3ee;border:1px solid var(--v12-line);border-radius:18px}
.v12-steps button{flex:1;border:0;border-radius:12px;padding:11px 6px;background:transparent;color:#65796f;font:600 .88rem system-ui,sans-serif;cursor:pointer}
.v12-steps button[aria-current=step]{background:#fff;color:var(--v12-green);box-shadow:0 3px 12px #123b2912}
.v12-steps button span{font-weight:800;margin-right:6px;color:var(--v12-gold)}
.v12-steps button:disabled{cursor:default;opacity:.5}
.v12-wizard-ready>.step[hidden],.v12-wizard-ready>.creator-submit[hidden]{display:none!important}
.v12-wizard-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 0;padding:16px;border:1px solid var(--v12-line);background:#fff;border-radius:18px}
.v12-wizard-controls [hidden]{display:none!important}.v12-wizard-controls [data-progress]{font-weight:700;color:#5b7565;font-size:.88rem}
.v12-gallery-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;font-size:.86rem;color:#567167}
.v12-dialog{border:1px solid #d9e5dc;border-radius:24px;max-width:min(580px,95vw);width:100%;padding:22px;background:#fff;color:var(--v12-ink);box-shadow:0 30px 90px #0c241c3c}
.v12-dialog::backdrop{background:#0c291cb8;backdrop-filter:blur(3px)}.v12-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.v12-dialog-head h2{font-size:1.25rem;font-weight:800}.v12-dialog-head button{font-size:25px;padding:8px 15px;border:1px solid var(--v12-line);border-radius:12px;background:#fff}
.v12-design-demo{margin:16px 0;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:7px solid #e9e2d4;outline:1px solid #d9c59d;outline-offset:-18px;border-radius:14px;text-align:center;background:linear-gradient(140deg,#153d32,#275c48);color:#f9f1dc}
.v12-design-demo h3{font-family:Georgia,serif;font-size:2.1rem}.v12-design-demo p{max-width:32ch}.v12-design-demo span{font-size:2rem;color:#e8c383}
.v12-preview-devices{display:flex;gap:5px}.v12-preview-devices button,.v12-text-fit{border:1px solid #dce7de;background:#fff;padding:7px 11px;border-radius:999px;color:#36584a;font-weight:700;font-size:.8rem}.v12-preview-devices button[aria-pressed=true]{background:var(--v12-green);color:white}
.preview-panel[data-device=mobile] #preview-scene{max-width:345px;min-height:560px;margin:0 auto}.preview-panel[data-device=desktop] #preview-scene{max-width:100%}
.v12-my-cards{max-width:1000px;margin:7vh auto;padding:16px 22px 60px}.v12-my-cards h1{font:700 clamp(2.4rem,4vw,4.1rem) Georgia,serif;color:var(--v12-green);margin:14px 0}.v12-my-cards>p{max-width:66ch;color:#5d7467;line-height:1.7}.v12-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:30px}.v12-owned,.v12-empty{border:1px solid var(--v12-line);background:#fff;padding:24px;border-radius:22px;box-shadow:0 15px 35px #1836260d}.v12-owned h2{margin:10px 0;font-size:1.25rem;font-weight:800}.v12-owned p,.v12-empty p{color:#667d70;margin:8px 0 19px;line-height:1.6}.v12-mini-status{color:#236a50;background:#e6f3eb;border-radius:50px;padding:5px 10px;font-size:.77rem;font-weight:700}
@media(max-width:600px){.v12-steps button{font-size:.74rem;padding:10px 4px}.v12-steps button span{display:block;margin:0 0 4px}.v12-wizard-controls{flex-wrap:wrap}.v12-gallery-tools{flex-wrap:wrap}.v12-preview-devices{flex-wrap:wrap}.v12-my-cards{margin:3vh auto}}
@media(prefers-reduced-motion:reduce){.v12-design-demo,.v12-wizard-controls{animation:none!important;transition:none!important}}

/* Admin v12 */
.v12-admin-dialog{position:fixed;inset:0 0 0 auto;margin:0;max-width:min(510px,100vw);width:100%;height:100dvh;padding:26px;background:white;color:#183a2a;border:0;border-radius:20px 0 0 20px;box-shadow:-18px 0 65px #10251d35;overflow-y:auto}
.v12-admin-dialog::backdrop{background:#0b25178c}.v12-admin-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.v12-admin-dialog-head h2{font-size:1.45rem;font-weight:800}.v12-admin-dialog-head button{font-size:28px;border:1px solid #dfe9df;border-radius:10px;padding:0 12px}
.v12-quick-form{display:grid;gap:16px;margin-top:22px}.v12-quick-form label{display:grid;gap:7px;font-weight:700}.v12-quick-form input,.v12-quick-form textarea{width:100%}.v12-ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.v12-ops-grid .admin-panel-block{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.v12-mail-frame{width:100%;height:730px;border:1px solid #e3eae4;border-radius:14px;background:#fff}
@media(max-width:740px){.v12-ops-grid{grid-template-columns:1fr}.v12-admin-dialog{border-radius:0}.v12-mail-frame{height:580px}}

@media print{
 @page{size:A4 portrait;margin:10mm}
 body.card-print{background:#fff!important}
 body.card-print>*:not(.viewer-top):not(main){display:none!important}
 body.card-print .viewer-top,body.card-print .viewer-kicker,body.card-print .viewer-title,body.card-print .viewer-summary-grid,body.card-print .envelope,body.card-print .guestbook,body.card-print .viewer-info-band,body.card-print .action-row,body.card-print .qr-panel,body.card-print .owner-controls,body.card-print .viewer-footer,body.card-print .v9-globe-section,body.card-print .surprise-box,body.card-print .countdown-box,body.card-print .viewer-note{display:none!important}
 body.card-print .viewer-wrap{margin:0;padding:0!important;max-width:none!important}
 body.card-print #card-scene{display:block!important;visibility:visible!important;opacity:1!important;transform:none!important;position:static!important;margin:0 auto!important;width:100%!important;max-height:265mm!important;break-inside:avoid;box-shadow:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.v12-steps[hidden]{display:none!important}

.v12-email-preview{margin-top:20px;padding:15px;border:1px solid #dfe8df;border-radius:20px;background:#f8faf8}.v12-email-preview>summary{font-weight:800;color:#214737;cursor:pointer}.v12-email-paper{margin:15px auto;padding:28px;max-width:480px;background:#fff;text-align:center;border:1px solid #e2e9e2;border-radius:19px}.v12-email-paper img{display:block;max-width:240px;width:80%;height:auto;margin:0 auto 20px}.v12-email-paper small{color:#a48655;text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.12em}.v12-email-paper h3{font-family:Georgia,serif;font-size:1.75rem;color:#1c4734;margin:14px 0}.v12-email-paper p{color:#5b7165;line-height:1.6;margin:9px 0 20px}.v12-email-button{display:inline-flex;padding:12px 26px;border-radius:13px;background:#1d5d46;color:#fff;font-weight:800}.v12-email-paper .v12-email-foot{font-size:.77rem;color:#78887d;max-width:34ch;margin:22px auto 0}
/* Gallery cards: actual readable thumbnail choices rather than tiny color swatches. */
#design-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
#design-choices .design-tile{min-height:178px;padding:13px;align-items:stretch;gap:9px;border:1px solid #dbe5db;border-radius:18px;background:#fff}
#design-choices .design-mini{max-width:none;width:100%;height:107px;border-radius:12px}
#design-choices .design-tile strong{font-size:.88rem;line-height:1.35}
#design-choices .design-tile small{color:#748779;line-height:1.45}
#design-choices .design-option[hidden]{display:none!important}
.v12-wizard-ready .step{scroll-margin-top:100px}
@media(max-width:860px){#design-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:400px){#design-choices .design-tile{min-height:150px;padding:9px}#design-choices .design-mini{height:84px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.card-scene,.card-scene *,.snow-decoration,.snow-decoration *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.v12-quick-changes{border:1px solid #dce6de;border-radius:13px;background:#f7faf8;padding:13px}.v12-quick-changes summary{cursor:pointer;font-weight:800}.v12-quick-changes [data-quick-diff]{margin-top:8px;display:grid;gap:8px}.v12-quick-changes [data-quick-diff] p{font-size:.83rem;color:#486052;line-height:1.55;overflow-wrap:anywhere}
