/* ── Payment modal ─────────────────────────────────────── */
.modal-overlay{
  position:fixed;inset:0;background:rgba(17,17,16,0.7);z-index:1000;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity 0.2s;backdrop-filter:blur(8px)
}
.modal-overlay.open{opacity:1;pointer-events:auto}

.modal-box{
  background:var(--white);border-radius:var(--r3);padding:36px;
  max-width:540px;width:92%;
  box-shadow:0 40px 100px rgba(0,0,0,0.8),0 0 0 1px rgba(255,255,255,0.06);
  transform:scale(0.96);transition:transform 0.2s;
  position:relative;overflow:visible
}
.enterprise-box{max-width:520px}
.modal-overlay.open .modal-box{transform:scale(1)}

.modal-close{
  position:absolute;top:14px;right:14px;background:var(--bg2);border:none;
  width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:18px;
  display:flex;align-items:center;justify-content:center;color:var(--ink3)
}
.modal-close:hover{background:var(--border2)}

/* Modal content */
.pay-modal h2{font-family:var(--f-display);font-size:20px;font-weight:800;margin-bottom:4px}
.pay-modal h2 span{color:var(--amber)}

.plan-badge{
  display:inline-flex;align-items:center;gap:6px;background:var(--amber-light);
  color:#8A5608;border:1px solid rgba(245,166,35,0.3);border-radius:var(--r-full);
  padding:4px 12px;font-size:12px;font-weight:700;margin-bottom:20px
}
.plan-badge i,.plan-badge svg{width:12px;height:12px;stroke-width:2;fill:currentColor;stroke:none}

.pay-secure i,.pay-secure svg{width:13px;height:13px;stroke-width:2}

.pay-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.pay-full{margin-bottom:12px}

.pay-label{
  font-size:12px;font-weight:600;color:var(--ink3);
  margin-bottom:5px;letter-spacing:0.02em
}
.pay-field{
  width:100%;padding:11px 14px;border:1.5px solid var(--border);
  border-radius:var(--r);font-family:var(--f-body);font-size:14px;
  color:var(--ink);outline:none;transition:border-color 0.15s,box-shadow 0.15s;background:var(--white);
  min-width:0 /* allow grid/flex children to shrink below content size */
}
.pay-field:focus{border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-glow)}
textarea.pay-field{min-height:80px;resize:vertical}

.pay-card-wrap{position:relative}
.pay-card-icon{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  color:var(--ink4);display:flex;align-items:center
}
.pay-card-icon i,.pay-card-icon svg{width:18px;height:18px;stroke-width:1.75}

.pay-sep{
  display:flex;align-items:center;gap:12px;
  margin:16px 0;color:var(--ink4);font-size:13px
}
.pay-sep::before,.pay-sep::after{content:'';flex:1;height:1px;background:var(--border)}

.pay-secure{
  display:flex;align-items:center;gap:6px;font-size:12px;
  color:var(--ink4);justify-content:center;margin-top:14px
}

/* Enterprise modal extras */
.ent-contact{
  display:flex;align-items:center;gap:8px;font-size:13px;
  color:var(--ink3);margin-top:16px;padding-top:16px;
  border-top:1px solid var(--border);justify-content:center
}
.ent-contact a{color:var(--amber);font-weight:600}
.ent-contact i,.ent-contact svg{width:14px;height:14px;stroke-width:1.75;color:var(--amber)}

/* Phone country picker */
.phone-wrap{position:relative;display:flex;align-items:center;gap:0}
.phone-country{
  display:flex;align-items:center;gap:5px;
  padding:0 10px;height:44px;flex-shrink:0;cursor:pointer;
  background:var(--bg2);border:1.5px solid var(--border);
  border-right:none;border-radius:var(--r) 0 0 var(--r);
  font-size:13px;font-weight:600;color:var(--ink2);
  transition:border-color 0.15s,background 0.15s;white-space:nowrap;
  user-select:none
}
.phone-country:hover{background:var(--bg3);border-color:var(--border2)}
.phone-chevron{width:12px;height:12px;stroke-width:2.5;transition:transform 0.2s}
.phone-number-field{border-radius:0 var(--r) var(--r) 0 !important;flex:1}

.country-drop{
  position:absolute;top:calc(100% + 6px);left:0;z-index:500;
  width:100%;min-width:260px;background:var(--bg2);
  border:1.5px solid var(--border2);border-radius:var(--r2);
  box-shadow:0 12px 40px rgba(0,0,0,0.7);
  display:none;flex-direction:column;overflow:hidden
}
.country-drop.open{display:flex}
.country-search{
  padding:10px 14px;border:none;border-bottom:1px solid var(--border);
  background:transparent;color:var(--ink);font-family:var(--f-body);font-size:13px;outline:none
}
.country-search::placeholder{color:var(--ink4)}
#country-list{max-height:200px;overflow-y:auto;list-style:none;padding:6px 0}
#country-list li{
  display:flex;align-items:center;gap:8px;padding:8px 14px;
  cursor:pointer;transition:background 0.1s;font-size:13px
}
#country-list li:hover{background:var(--bg3)}
#country-list .cf{font-size:16px;flex-shrink:0}
#country-list .cn{flex:1;color:var(--ink2)}
#country-list .cc{color:var(--ink4);font-size:12px}

/* ── Consent section ──────────────────────────────────── */
.consent-section{
  margin:16px 0 12px;
  border-top:1px solid var(--border);
  padding-top:14px
}
.consent-title{
  font-size:10px;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--ink4);margin-bottom:12px
}
.consent-item{
  display:flex;align-items:flex-start;gap:10px;
  margin-bottom:10px;cursor:pointer
}
.consent-check{ display:none }
.consent-box{
  width:16px;height:16px;flex-shrink:0;margin-top:1px;
  border:1.5px solid var(--border2);border-radius:3px;
  background:var(--bg2);transition:background 0.15s,border-color 0.15s;
  display:flex;align-items:center;justify-content:center
}
.consent-check:checked ~ .consent-box{
  background:var(--amber);border-color:var(--amber)
}
.consent-check:checked ~ .consent-box::after{
  content:'';display:block;
  width:9px;height:5px;
  border-left:2px solid #000;border-bottom:2px solid #000;
  transform:rotate(-45deg) translateY(-1px)
}
.consent-text{
  font-size:12px;color:var(--ink2);line-height:1.55;flex:1
}
.consent-req{ color:var(--amber);font-weight:700 }
.consent-opt{ color:var(--ink4);font-size:11px }
.consent-link{
  color:var(--amber);text-decoration:underline;
  text-underline-offset:2px
}
.consent-footer{
  font-size:11px;color:var(--ink3);line-height:1.6;
  margin-top:10px;padding-top:10px;
  border-top:1px solid var(--border)
}

/* Lead success state */
.lead-success-icon{
  width:64px;height:64px;border-radius:50%;
  background:rgba(34,197,94,0.12);border:1.5px solid rgba(34,197,94,0.3);
  display:flex;align-items:center;justify-content:center;margin:0 auto
}
.lead-success-icon i,.lead-success-icon svg{width:32px;height:32px;color:var(--green);stroke-width:1.5}
