:root {
  --nbar-gold:#d6ae48;
  --nbar-gold-dark:#a77f25;
  --nbar-ink:#101114;
  --nbar-muted:#6d7179;
  --nbar-line:#e7e7e7;
  --nbar-soft:#f7f7f7;
  --nbar-white:#fff;
  --nbar-danger:#b42318;
  --nbar-shadow:0 22px 70px rgba(0,0,0,.14);
}

.nbar-widget,
.nbar-widget *,
.nbar-modal,
.nbar-modal * { box-sizing:border-box; }

.nbar-widget,
.nbar-modal,
.nbar-modal input,
.nbar-modal select,
.nbar-modal textarea,
.nbar-modal button {
  font-family:"Poppins",Arial,sans-serif !important;
}

.nbar-widget { width:100%; color:var(--nbar-ink); }

.nbar-price-card {
  width:100%;
  padding:34px;
  background:#fff;
  border:1px solid #e6e2d9;
  border-radius:18px;
  box-shadow:0 18px 55px rgba(17,17,17,.08);
}
.nbar-price-eyebrow { margin-bottom:8px; color:var(--nbar-gold-dark); font-size:11px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.nbar-price-card h3 { margin:0; color:var(--nbar-ink); font-size:clamp(24px,3vw,34px); line-height:1.16; font-weight:700; }
.nbar-price-intro { max-width:720px; margin:12px 0 0; color:var(--nbar-muted); font-size:14px; line-height:1.7; }
.nbar-price-main,.nbar-price-vat { display:none !important; }
.nbar-includes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; margin:26px 0; }
.nbar-include-item { display:flex; align-items:center; gap:9px; color:#3d4148; font-size:13px; font-weight:500; }
.nbar-check { width:22px; height:22px; flex:0 0 22px; display:grid; place-items:center; border-radius:50%; background:#f5ecd3; color:#8a681d; font-size:12px; font-weight:800; }
.nbar-start { width:100%; min-height:56px; display:flex; align-items:center; justify-content:center; gap:12px; border:0; border-radius:10px; background:var(--nbar-ink); color:#fff; font-size:14px; font-weight:700; cursor:pointer; transition:transform .2s ease, background .2s ease; }
.nbar-start:hover { background:#24262a; transform:translateY(-1px); }
.nbar-card-foot { margin-top:12px; color:#858991; font-size:11px; text-align:center; }

html.nbar-modal-open,
body.nbar-modal-open { overflow:hidden !important; overscroll-behavior:none !important; }
body.nbar-modal-open { width:100% !important; }

.nbar-modal {
  position:fixed !important;
  inset:0 !important;
  z-index:2147483647 !important;
  width:100vw !important;
  width:100dvw !important;
  height:100vh !important;
  height:100dvh !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
  color:var(--nbar-ink) !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  overflow:hidden !important;
  transform:none !important;
  isolation:isolate;
}
.nbar-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.nbar-modal [hidden] { display:none !important; }

.nbar-modal-shell {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.nbar-modal-head {
  min-height:74px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 48px;
  align-items:center;
  gap:18px;
  padding:12px 28px;
  background:#fff;
  border-bottom:1px solid var(--nbar-line);
}
.nbar-modal-title { color:#292c31; font-size:14px; font-weight:700; text-align:left; white-space:nowrap; }
.nbar-language { justify-self:end; display:flex; gap:5px; padding:4px; background:#f5f5f5; border-radius:10px; }
.nbar-language button { min-width:43px; min-height:34px; padding:0 8px; border:0; border-radius:7px; background:transparent; color:#62666e; font-size:11px; font-weight:700; cursor:pointer; }
.nbar-language button.is-active { background:#fff; color:#111; box-shadow:0 1px 4px rgba(0,0,0,.09); }
.nbar-close { width:42px; height:42px; display:grid; place-items:center; border:1px solid #e5e5e5; border-radius:10px; background:#fff; color:#111; font-size:27px; line-height:1; cursor:pointer; }
.nbar-close:hover { background:#f5f5f5; }

.nbar-progress-wrap { padding:14px 28px 16px; background:#fff; border-bottom:1px solid var(--nbar-line); }
.nbar-progress-top { max-width:1180px; margin:0 auto 8px; display:flex; align-items:center; justify-content:space-between; color:#737780; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.nbar-progress-top strong { color:#1d1f23; font-size:11px; }
.nbar-progress { max-width:1180px; height:3px; margin:0 auto 12px; overflow:hidden; background:#ededed; border-radius:99px; }
.nbar-progress > span { display:block; width:20%; height:100%; background:var(--nbar-gold); border-radius:99px; transition:width .25s ease; }
.nbar-step-nav { max-width:980px; margin:0 auto; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.nbar-step-nav button { min-width:0; display:flex; flex-direction:column; align-items:center; gap:6px; padding:4px 2px; border:0; background:transparent; color:#a0a3a8; cursor:pointer; }
.nbar-step-nav button:disabled { cursor:not-allowed; opacity:.55; }
.nbar-step-icon { width:38px; height:38px; display:grid; place-items:center; border:1px solid #dedede; border-radius:11px; background:#fff; color:#777b82; transition:.2s ease; }
.nbar-step-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.nbar-step-nav small { max-width:110px; overflow:hidden; color:inherit; font-size:10px; font-weight:600; line-height:1.25; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.nbar-step-nav button.is-active { color:#111; }
.nbar-step-nav button.is-active .nbar-step-icon { border-color:var(--nbar-gold); background:#f8f2e1; color:#8e6b20; box-shadow:0 0 0 3px rgba(214,174,72,.09); }
.nbar-step-nav button.is-complete .nbar-step-icon { border-color:#ddd; background:#fafafa; color:#777; }

.nbar-form { min-height:0 !important; display:grid !important; grid-template-rows:minmax(0,1fr) auto !important; overflow:hidden !important; background:#fff; }
.nbar-modal-body { min-height:0 !important; overflow-y:auto !important; overflow-x:hidden !important; overscroll-behavior:contain !important; -webkit-overflow-scrolling:touch; padding:34px clamp(20px,4vw,56px) 44px; background:#fff !important; }
.nbar-step { display:none; width:min(100%,1080px); margin:0 auto; }
.nbar-step.is-active { display:block; animation:nbarIn .2s ease both; }
@keyframes nbarIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }

.nbar-step-head { display:block; margin-bottom:24px; }
.nbar-step-head h2 { margin:0 !important; color:#121316 !important; font-family:"Poppins",Arial,sans-serif !important; font-size:clamp(25px,3vw,36px) !important; line-height:1.18 !important; font-weight:700 !important; letter-spacing:-.025em; }
.nbar-step-head p { max-width:760px; margin:7px 0 0 !important; color:#70747b !important; font-size:13px !important; line-height:1.65 !important; }

.nbar-alert { width:min(100%,1080px); margin:0 auto 20px; padding:13px 15px; border:1px solid #f0c8c3; border-radius:10px; background:#fff7f6; color:var(--nbar-danger); font-size:12px; font-weight:600; line-height:1.5; }

.nbar-protocol-card { padding:24px; border:1px solid #e8e8e8; border-radius:14px; background:#fff; }
.nbar-protocol-title { display:flex; align-items:center; gap:10px; margin-bottom:15px; color:#1c1e22; font-size:13px; }
.nbar-protocol-title > span { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#f6eed8; color:#98731f; font-weight:800; }
.nbar-protocol-card ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.nbar-protocol-card li { display:flex; align-items:flex-start; gap:10px; color:#4b4f56; font-size:13px; line-height:1.55; }
.nbar-protocol-card li > span:first-child { color:#9a7526; font-weight:800; }

.nbar-checkbox { display:flex; align-items:flex-start; gap:12px; margin-top:20px; cursor:pointer; color:#272a2f; font-size:13px; line-height:1.55; }
.nbar-checkbox input { position:absolute; opacity:0; pointer-events:none; }
.nbar-checkbox-ui { width:23px; height:23px; flex:0 0 23px; position:relative; border:1.5px solid #c9c9c9; border-radius:7px; background:#fff; }
.nbar-checkbox input:checked + .nbar-checkbox-ui { border-color:var(--nbar-gold); background:var(--nbar-gold); }
.nbar-checkbox input:checked + .nbar-checkbox-ui:after { content:""; position:absolute; left:7px; top:3px; width:6px; height:11px; border:solid #171717; border-width:0 2px 2px 0; transform:rotate(45deg); }

.nbar-grid { display:grid; gap:17px; }
.nbar-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.nbar-span-2 { grid-column:1/-1; }
.nbar-field { min-width:0; display:block; }
.nbar-field > span { display:block; margin-bottom:7px; color:#35383e; font-size:11px; font-weight:700; }
.nbar-field em { color:#92959b; font-style:normal; font-weight:500; }
.nbar-field input,
.nbar-field select,
.nbar-field textarea { width:100% !important; max-width:none !important; margin:0 !important; border:1px solid #dcdcdc !important; border-radius:10px !important; outline:none !important; background:#fff !important; color:#17191c !important; box-shadow:none !important; font-size:14px !important; line-height:1.45 !important; transition:border-color .18s ease, box-shadow .18s ease; }
.nbar-field input,.nbar-field select { height:50px !important; padding:0 13px !important; }
.nbar-field textarea { min-height:135px !important; padding:13px !important; resize:vertical; }
.nbar-field input:focus,.nbar-field select:focus,.nbar-field textarea:focus { border-color:#c8a444 !important; box-shadow:0 0 0 3px rgba(214,174,72,.10) !important; }
.nbar-field.is-invalid input,.nbar-field.is-invalid select,.nbar-field.is-invalid textarea { border-color:#cf6a60 !important; box-shadow:0 0 0 3px rgba(180,35,24,.06) !important; }
.nbar-field-hint { display:block; margin-top:6px; color:#8a8e95; font-size:10px; line-height:1.45; font-weight:500; }
.nbar-field.is-invalid .nbar-field-hint { color:#a94c44; }

.nbar-upload-status { display:grid; gap:9px; margin-bottom:15px; }
.nbar-upload-status > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:16px; color:#686c73; font-size:11px; }
.nbar-upload-status strong { color:#202226; font-size:12px; }
.nbar-upload-progress { height:5px; overflow:hidden; border-radius:99px; background:#ececec; }
.nbar-upload-progress span { display:block; height:100%; width:0; border-radius:99px; background:var(--nbar-gold); transition:width .2s ease; }
.nbar-dropzone { min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:25px; border:1.5px dashed #cfcfcf; border-radius:15px; background:#fff; text-align:center; transition:.2s ease; }
.nbar-dropzone.is-dragging { border-color:var(--nbar-gold); background:#fdfaf3; }
.nbar-upload-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:4px; border-radius:14px; background:#f6f3ea; color:#917020; font-size:25px; }
.nbar-dropzone > strong { color:#22252a; font-size:15px; }
.nbar-dropzone > span,.nbar-dropzone > small { color:#898d94; font-size:11px; }
.nbar-upload-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-top:10px; }
.nbar-upload-btn { min-height:42px; padding:0 15px; display:inline-flex; align-items:center; gap:8px; border:1px solid #dedede; border-radius:9px; background:#fff; color:#25272b; font-size:11px; font-weight:700; cursor:pointer; }
.nbar-upload-btn.is-accent { border-color:#d5b45b; background:#f8f2df; }
.nbar-hidden-file { position:fixed !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.nbar-file-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:14px; }
.nbar-file-item { min-width:0; display:grid; grid-template-columns:46px minmax(0,1fr) 30px; align-items:center; gap:9px; padding:9px; border:1px solid #e7e7e7; border-radius:11px; background:#fff; }
.nbar-file-thumb { width:46px; height:46px; display:grid; place-items:center; overflow:hidden; border-radius:8px; background:#f1f1f1; color:#666; font-size:10px; font-weight:700; }
.nbar-file-thumb img { width:100%; height:100%; object-fit:cover; }
.nbar-file-meta { min-width:0; }
.nbar-file-meta strong { display:block; overflow:hidden; color:#3d4046; font-size:10px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.nbar-file-meta small { color:#95989e; font-size:9px; }
.nbar-file-remove { width:28px; height:28px; display:grid; place-items:center; border:0; border-radius:7px; background:#f5f5f5; color:#6f737a; cursor:pointer; }
.nbar-tips { margin-top:20px; padding:20px; border:1px solid #e4e4e4; border-radius:14px; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.025); }
.nbar-tips-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding-bottom:13px; border-bottom:1px solid #ececec; }
.nbar-tips-head strong { color:#24272c; font-size:13px; font-weight:700; }
.nbar-tips-head span { max-width:520px; color:#858990; font-size:10px; line-height:1.5; text-align:right; }
.nbar-tips ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; margin:15px 0 0; padding:0; list-style:none; }
.nbar-tips li { min-width:0; display:flex; align-items:flex-start; gap:9px; color:#5d6168; font-size:11px; line-height:1.55; }
.nbar-tip-check { width:20px; height:20px; flex:0 0 20px; display:grid; place-items:center; margin-top:1px; border:1px solid #dccb9c; border-radius:50%; background:#fbf8ef; color:#8e6b20; font-size:10px; font-weight:800; }

.nbar-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.nbar-review-card { min-width:0; padding:17px; border:1px solid #e7e7e7; border-radius:12px; background:#fff; }
.nbar-review-card header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.nbar-review-card header strong { color:#25282d; font-size:12px; }
.nbar-review-card header button { padding:0; border:0; background:transparent; color:#947020; font-size:10px; font-weight:700; cursor:pointer; }
.nbar-review-card > div { color:#6b6f76; font-size:11px; line-height:1.7; word-break:break-word; }
.nbar-payment-summary { width:min(100%,620px); margin:18px auto 0; padding:20px; border:1px solid #e7e7e7; border-radius:13px; background:#fff; }
.nbar-payment-summary > div { display:flex; justify-content:space-between; gap:18px; padding:7px 0; color:#62666d; font-size:12px; }
.nbar-payment-summary strong { color:#23262a; }
.nbar-payment-total { margin-top:7px; padding-top:13px !important; border-top:1px solid #e8e8e8; color:#1b1d21 !important; font-weight:700; }
.nbar-privacy { margin:14px 0 0 !important; color:#8a8d93 !important; font-size:10px !important; text-align:center; }
.nbar-privacy a { color:#6b541c !important; text-decoration:underline; }
.nbar-final-action { width:min(100%,620px); margin:16px auto 0; justify-content:flex-end; }
.nbar-final-action .nbar-pay { width:100%; min-height:52px; }

.nbar-modal-foot { min-height:76px; display:flex; align-items:center; justify-content:flex-end; gap:10px; padding:11px 28px; border-top:1px solid var(--nbar-line); background:#fff; box-shadow:0 -8px 24px rgba(0,0,0,.025); }
.nbar-back,.nbar-next,.nbar-pay { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 20px; border-radius:10px; font-size:12px; font-weight:700; cursor:pointer; }
.nbar-back { margin-right:auto; border:1px solid #dedede; background:#fff; color:#3c4046; }
.nbar-next,.nbar-pay { min-width:160px; border:1px solid #111; background:#111; color:#fff; }
.nbar-pay { background:#111; }
.nbar-back:disabled,.nbar-next:disabled,.nbar-pay:disabled { opacity:.4; cursor:not-allowed; }
.nbar-next:not(:disabled):hover,.nbar-pay:not(:disabled):hover { background:#27292d; }
.nbar-back:not(:disabled):hover { background:#f6f6f6; }
.nbar-pay.is-loading { pointer-events:none; }

.nbar-modal[dir="rtl"] { direction:rtl; }
.nbar-modal[dir="rtl"] .nbar-back { margin-right:0; margin-left:auto; }
.nbar-modal[dir="rtl"] .nbar-field,.nbar-modal[dir="rtl"] .nbar-review-card,.nbar-modal[dir="rtl"] .nbar-step-head { text-align:right; }
.nbar-modal[dir="rtl"] .nbar-tips-head span { text-align:right; }

@media (max-width:980px) {
  .nbar-modal-head { grid-template-columns:minmax(0,1fr) auto 44px; padding:10px 18px; gap:10px; }
  .nbar-modal-title { overflow:hidden; text-overflow:ellipsis; }
  .nbar-progress-wrap { padding:12px 18px 13px; }
  .nbar-modal-body { padding:27px 22px 34px; }
  .nbar-file-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nbar-review-grid { grid-template-columns:1fr; }
}

@media (max-width:680px) {
  .nbar-price-card { padding:24px 18px; border-radius:14px; }
  .nbar-includes { grid-template-columns:1fr; gap:9px; }
  .nbar-card-foot { line-height:1.5; }

  .nbar-modal-head { min-height:62px; grid-template-columns:minmax(0,1fr) auto 40px; padding:8px 12px; gap:7px; }
  .nbar-modal-title { display:none; }
  .nbar-language { gap:2px; padding:3px; border-radius:8px; }
  .nbar-language button { min-width:34px; min-height:30px; padding:0 5px; font-size:9px; border-radius:6px; }
  .nbar-close { width:38px; height:38px; border-radius:9px; font-size:24px; }

  .nbar-progress-wrap { padding:9px 10px 10px; }
  .nbar-progress-top { margin-bottom:6px; padding:0 2px; font-size:9px; }
  .nbar-progress { margin-bottom:8px; }
  .nbar-step-nav { gap:2px; }
  .nbar-step-nav button { gap:4px; padding:2px 0; }
  .nbar-step-icon { width:34px; height:34px; border-radius:10px; }
  .nbar-step-icon svg { width:18px; height:18px; }
  .nbar-step-nav small { max-width:64px; font-size:8px; white-space:normal; line-height:1.1; }

  .nbar-modal-body { padding:22px 14px 28px; }
  .nbar-step-head { margin-bottom:18px; }
  .nbar-step-head h2 { font-size:24px !important; }
  .nbar-step-head p { margin-top:5px !important; font-size:11px !important; line-height:1.55 !important; }
  .nbar-protocol-card { padding:18px 15px; }
  .nbar-grid-2 { grid-template-columns:1fr; }
  .nbar-span-2 { grid-column:auto; }
  .nbar-field input,.nbar-field select { height:48px !important; }
  .nbar-file-list { grid-template-columns:1fr; }
  .nbar-dropzone { min-height:200px; padding:20px 12px; }
  .nbar-upload-actions { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .nbar-upload-btn { width:100%; justify-content:center; padding:0 8px; }
  .nbar-tips { padding:16px 14px; }
  .nbar-tips-head { display:block; }
  .nbar-tips-head span { display:block; margin-top:4px; text-align:left; }
  .nbar-tips ul { grid-template-columns:1fr; gap:9px; margin-top:13px; }
  .nbar-payment-summary { padding:16px; }
  .nbar-final-action { width:100%; margin-top:14px; }

  .nbar-modal-foot { min-height:70px; padding:9px 12px; gap:8px; }
  .nbar-back,.nbar-next,.nbar-pay { min-height:48px; padding:0 14px; font-size:11px; }
  .nbar-next,.nbar-pay { min-width:145px; }
}

@media (max-width:390px) {
  .nbar-language button { min-width:31px; }
  .nbar-step-nav small { display:none; }
  .nbar-progress-wrap { padding-bottom:8px; }
  .nbar-step-head h2 { font-size:22px !important; }
  .nbar-back,.nbar-next,.nbar-pay { min-width:0; }
  .nbar-next,.nbar-pay { flex:1; }
}

@media (prefers-reduced-motion:reduce) {
  .nbar-modal *, .nbar-widget * { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
