@font-face { font-family:'ZK Allura'; src:url('../fonts/Allura-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
.zk-birth-preview { clear:both; width:100%; box-sizing:border-box; margin:1.5rem 0; padding:1.2rem; border:1px solid var(--line); border-radius:16px; background:#fff8f5; }
.zk-birth-preview h2 { margin-top:0; font-size:1.35rem; }
.zk-birth-grid { display:grid; gap:1.5rem; align-items:start; }
.zk-birth-controls,.zk-birth-visual { min-width:0; }
.zk-birth-controls form.cart { float:none; margin:0; }
.zk-birth-fields input { min-width:0; max-width:100%; }
.zk-birth-visual { width:100%; max-width:680px; justify-self:center; }
.zk-birth-visual figure { margin:0 0 1rem; }
.zk-birth-visual canvas { display:block; width:100%; height:auto; background:#fff; border-radius:12px; }
.zk-birth-visual figcaption { font-size:.75rem; line-height:1.6; margin-top:.6rem; color:var(--muted); }
.zk-birth-enlarge { width:100%; }
.zk-birth-dialog { width:850px; max-width:92vw; max-height:92vh; overflow:auto; padding:1rem; border:1px solid var(--line); border-radius:14px; }
.zk-birth-dialog::backdrop { background:rgb(35 23 20 / 65%); }
.zk-birth-dialog img { display:block; width:100%; height:auto; }
.zk-birth-close { display:block; margin:0 0 .8rem auto; }
@media(min-width:768px) {
 .zk-birth-preview { padding:2rem; }
 .zk-birth-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:2.5rem; }
 .zk-birth-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1rem; }
 .zk-birth-field--name,.zk-birth-field--birthplace { grid-column:1/-1; }
}
