.nftix-checkout{ width:100%; box-sizing:border-box; max-width:none; margin:18px auto 70px; padding:0 16px; font-family:var(--nftixp-font,system-ui); }
.nftix-checkout-header{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
.nftix-checkout-header h1{ margin:0; font-size:32px; font-weight:900; }
.nftix-checkout-header-meta{ display:flex; flex-direction:column; gap:6px; align-items:flex-end; min-width:220px; }
.nftix-checkout-header-meta span{ font-size:14px; }
.nftix-checkout-header-meta .nftix-link{ font-weight:700; }
.nftix-checkout h2{ margin:16px 0 10px; font-size:18px; font-weight:900; }
.nftix-checkout label{ 
    display:block; 
    margin:20px 0; 
    font-size:14px;
}
.nftix-checkout input{ 
  width: calc(100% - 30px);
  height:40px; 
  border:1px solid rgba(0,0,0,.2); 
  border-radius:12px; 
  padding:0 10px; 
  font-size:14px; 
}
.nftix-checkout-address-row input {
    width: calc(100% - 30px);
}
.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media(max-width:640px){ .grid2{ grid-template-columns:1fr; } }
.grid3{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:10px; }
@media(max-width:900px){ .grid3{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width:640px){ .grid3{ grid-template-columns:1fr; } }
.grid3 label{ margin:0; }
.nftixp-field-label{
  position:relative;
  border:1px solid #d6deff;
  border-radius:16px;
  background:#fff;
  margin-bottom:20px;
}
.nftixp-field-label span{
  position:absolute;
  top:0;
  left:18px;
  font-size:11px;
  letter-spacing:0.1em;
  background:#fff;
  padding:0 6px;
  transform:translateY(-55%);
}
.nftixp-field-label input{
  border:0;
  background:transparent;
  padding: 8px 15px 6px;
  height:32px;
  font-size:16px;
  color:#0f172a;
}
.nftix-checkout-address{
  border:1px solid rgba(59,130,246,0.25);
  border-radius:18px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:#fff;
  box-shadow:0 4px 10px rgba(15,23,42,0.08);
}
.nftix-checkout-address-row{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}
.nftix-checkout-address-row label{
  margin-bottom:0;
}
.nftixp-field-label select{
  border:0;
  background:transparent;
  padding: 12px 35px 12px 15px;
  height:46px;
  font-size:16px;
  color:#0f172a;
  border-radius:16px;
}
.check{ display:flex; gap:10px; align-items:flex-start; font-weight:600; margin-top:10px; }
.check input{ width:auto; height:auto; margin-top:4px; }
.tos{ border:1px solid rgba(0,0,0,.1); border-radius:14px;     padding: 0px 12px; max-height:260px; overflow:auto; margin-bottom:10px; }
.cardbox{ border:1px solid rgba(0,0,0,.15); border-radius:14px; padding:10px; }
.err{ margin-top:10px; color:#b00020; font-weight:700; }
.btn{ width:100%; margin-top:12px; padding:14px 16px; border-radius:14px; border:0; background:var(--nftixp-btn,#5a54ff); color:#fff; font-weight:900; font-size:15px; cursor:pointer; }
.btn.ghost{ background:#fff; color:#111; border:1px solid rgba(0,0,0,.2); }
.btn:disabled{
  opacity:0.6;
  cursor:not-allowed;
  background:#94a3b8;
}

/* signature overlay */
.sig-overlay{ position:fixed; inset:0; z-index:99999; background:rgba(0,0,0,.80); display:flex; align-items:center; justify-content:center; padding:18px; }
.sig-overlay[hidden]{ display:none; }
.sig-card{ width:min(680px,100%); background:#fff; border-radius:16px; padding:16px; }
.sig-text{ font-size:14px; line-height:1.45; margin-bottom:12px; }
.sig-box{ border:1px dashed rgba(0,0,0,.5); border-radius:12px; padding:10px; }
#nftix-sig-canvas{ width:100%; height:180px; display:block; touch-action:none; }
.sig-line{ display:flex; align-items:center; gap:10px; margin-top:8px; }
.sig-x{ font-weight:900; font-size:18px; }
.sig-hr{ flex:1; height:2px; background:#111; opacity:.8; }
.sig-name{ margin-top:6px; font-weight:900; letter-spacing:.6px; font-size:12px; }
.sig-actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:12px; }
.sig-actions .btn{ width:auto; margin:0; }
.nftix-checkout-summary{
  border:1px solid rgba(59,130,246,0.25);
  border-radius:20px;
  padding:20px;
  margin-bottom:30px;
  background:#fff;
}
.nftix-summary-total-label{
  font-size:18px;
  font-weight:600;
  color:#111;
  text-transform:none;
}
.nftix-checkout-summary-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.nftix-summary-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
}
.nftix-summary-toggle{
  background:none;
  border:none;
  color:#2563eb;
  font-weight:600;
  cursor:pointer;
  padding:0;
  font-size:18px;
  margin-left:auto;
  transition:transform .25s ease;
}
.nftix-summary-toggle.is-expanded{
  transform:rotate(180deg);
}
.nftix-summary-total-value{
  margin:0 8px 0 0;
  font-weight:700;
  font-size:18px;
}
.nftix-summary-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.nftix-checkout-summary-details{
  border-top:1px dashed rgba(0,0,0,.12);
  padding-top:12px;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  overflow:hidden;
  margin-top:10px;
}
.nftix-checkout-summary-details[hidden]{
  display:none !important;
}
.nftix-checkout-summary-table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:12px;
}
.nftix-checkout-summary-table th,
.nftix-checkout-summary-table td{
  padding:10px;
  border-bottom:1px solid rgba(0,0,0,.08);
  vertical-align:middle;
}
.nftix-checkout-summary-table th{ font-weight:900; text-align:left; }
.nftix-checkout-summary-table .c, .nftix-checkout-summary-table .r{text-align:center;}
.nftix-checkout-summary-table .r{text-align:right;}
.checkout-qty{
  font-weight:700;
  font-size:1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  padding:4px 8px;
}
.nftix-checkout-item-list{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.nftix-checkout-item{
  display:flex;
  justify-content:space-between;
  color:#1f2937;
}
.nftix-tos-scroll{
  max-height:400px;
  overflow-y:auto;
  margin-bottom:12px;
  height:90px;
  min-height:90px;
  font-size: 12px;
  background: #f7f7f7;
  resize: vertical;
}
.nftix-summary-edit{
  font-size:11px;
}
.nftix-checkout-summary .row{
  display:flex;
  justify-content:space-between;
  padding:6px 0;
  font-size:14px;
}
.nftix-checkout-summary .row.total{
  border-top:1px solid rgba(0,0,0,.08);
  margin-top:6px;
  padding-top:10px;
  font-weight:900;
}
.nftix-debug-row{
  margin:20px auto;
  border:1px dashed #b45309;
  border-radius:14px;
  padding:12px 14px;
  background:#fef3c7;
  color:#92400e;
  font-size:0.95rem;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  width:100%;
  max-width:calc(100% - 32px);
  box-sizing:border-box;
  justify-content:center;
}
.nftix-checkout-address-row label{ margin-top:0; }
.t-title{font-size:14px;}
.t-sub{font-size:12px;}
.nftix-checkout-summary{margin-top:20px;}
label.check{margin-top:0;}

/* Use the theme's available page width without applying form sizing to body. */
body.nftixp-checkout-body .wp-block-post-content,body.nftixp-checkout-body .entry-content,body.nftixp-checkout-body .nftix-checkout-body {width:100%;max-width:none;box-sizing:border-box;}
.nftix-checkout .nftixp-field-label {min-width:0;}
.nftix-checkout .nftixp-field-label select {width:100%;min-width:0;max-width:100%;box-sizing:border-box;}
@media(max-width:640px){.nftix-checkout .nftix-checkout-address-row {grid-template-columns:1fr;gap:20px;}}

.nftix-checkout fieldset{min-width:0;border:1px solid #cbd5e1;border-radius:16px;padding:16px;margin:20px 0;}
.nftix-checkout fieldset>legend{font-size:18px;font-weight:900;padding:0 8px;}
.nftix-checkout [hidden]{display:none!important;}
.nftix-plan-options,.nftix-plan-quantity{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.nftix-plan-options .btn{width:auto;flex:1 1 160px;margin:0;border:1px solid transparent;}
.nftix-plan-options .btn[aria-pressed="false"]{border:1px solid #000;color:#000;background:#fff;}
.nftix-plan-quantity .nftixp-field-label{width:110px;margin:10px 0;}
.nftix-plan-quantity .btn{width:auto;min-width:100px;margin:0;}
.nftix-plan-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.nftix-plan-summary div{border:1px solid #cbd5e1;border-radius:12px;padding:16px;}
.nftix-plan-summary dt{font-size:14px;}.nftix-plan-summary dd{font-size:22px;font-weight:700;margin:6px 0 0;}
.nftix-plan-schedule{overflow:auto;border:1px solid #cbd5e1;border-radius:12px;margin:16px 0;}
.nftix-plan-schedule table{width:100%;border-collapse:collapse;}
.nftix-plan-schedule th,.nftix-plan-schedule td{text-align:left;padding:12px;border-bottom:1px solid #cbd5e1;white-space:nowrap;}
.nftix-checkout .check{display:flex;align-items:flex-start;gap:10px;}
.nftix-checkout .check input{width:auto;flex:0 0 auto;}
[data-plan-terms]{white-space:pre-wrap;}

.nftix-checkout-expired .btn{display:inline-flex;width:auto;text-decoration:none;}
