@font-face { font-family:'ZK Allura'; src:url('../fonts/Allura-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
.zk-communion-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-communion-preview h2 { margin-top:0; font-size:1.35rem; }
.zk-communion-grid { display:grid; gap:1.5rem; align-items:start; }
.zk-communion-controls,.zk-communion-visual { min-width:0; }
.zk-communion-controls form.cart { float:none; margin:0; }
.zk-communion-controls input { min-width:0; max-width:100%; }
.zk-communion-controls > .button { margin-top:1rem; }
.zk-communion-visual { width:100%; max-width:320px; justify-self:center; }
.zk-communion-visual figure { margin:0 0 1rem; }
.zk-communion-visual canvas { display:block; width:100%; height:auto; background:#fff; border-radius:10px; }
.zk-communion-visual figcaption { font-size:.75rem; line-height:1.6; margin-top:.6rem; color:var(--muted); }
.zk-communion-enlarge { width:100%; }
.zk-communion-dialog { width:650px; max-width:92vw; max-height:92vh; overflow:auto; padding:1rem; border:1px solid var(--line); border-radius:14px; }
.zk-communion-dialog::backdrop { background:rgb(35 23 20 / 65%); }
.zk-communion-dialog img { display:block; width:100%; height:auto; }
.zk-communion-close { display:block; margin:0 0 .8rem auto; }
@media(min-width:768px) {
 .zk-communion-preview { padding:2rem; }
 .zk-communion-grid { grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:2.5rem; }
 .zk-communion-visual { max-width:340px; }
}
