/* Buttons (opsional, untuk shortcode nlb_action_buttons) */
.nlb-btn { 
  appearance: none; border: 0; cursor: pointer;
  padding: .6rem 1rem; border-radius: 10px;
  background:#046963; color:#fff; font-weight:600;
  transition: transform .05s ease, opacity .2s ease;
  text-decoration:none; display:inline-flex; align-items:center; gap:.5rem;
}
.nlb-btn:active { transform: translateY(1px); }
.nlb-buttons { display:flex; gap:10px; flex-wrap:wrap; }
.nlb-align-center { justify-content:center; }
.nlb-align-right { justify-content:flex-end; }

/* Modal base */
.nlb-modal { position: fixed; inset:0; z-index: 99999; display:none; }
.nlb-modal.is-open { display:block; }
.nlb-modal .nlb-backdrop { position: absolute; inset:0; background: rgba(0,0,0,.45); }
.nlb-modal .nlb-dialog {
  position: absolute; inset: 2% 2%;
  background: #fff; border-radius: 14px; overflow: hidden;
  display:flex; flex-direction:column; box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.nlb-modal .nlb-close {
  position:absolute; top:10px; right:12px; font-size:28px; line-height:1;
  background:transparent; border:0; cursor:pointer;
}

/* Preview A4 iframe */
#nlb-preview-iframe { flex:1; width:100%; border:0; }

/* Share popup — QR di ATAS */
.nlb-share-card {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:min(440px, 92vw); background: rgba(255,255,255,.98); border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25); padding:16px;
}
.nlb-share-card h3 { margin:10px 0 12px; font-size:18px; text-align:center; }
.nlb-qr-wrap { display:flex; align-items:center; justify-content:center; margin-top:4px; }
.nlb-qr-wrap img { width:240px; height:240px; display:block; }
.nlb-share-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; margin-top:12px; }
.nlb-share-btn {
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:#f3f4f6; border-radius:10px; padding:10px; cursor:pointer; user-select:none;
  border:1px solid #e5e7eb;
}
.nlb-share-btn:hover { background:#e6f4f1; }
.nlb-share-small { font-size:12px; opacity:.8; text-align:center; margin-top:8px; }
.nlb-share-footer { display:flex; gap:10px; margin-top:10px; }
.nlb-input { flex:1; padding:8px 10px; border-radius:8px; border:1px solid #e5e7eb; }
.nlb-copy { padding:8px 12px; border-radius:8px; border:0; background:#046963; color:#fff; cursor:pointer; }
