.buy-cta-card{
  background:#fff6ee;
  border:1px solid #e9c9a3;
  border-radius:16px;
  padding:18px;
  margin-bottom:18px;
  box-shadow:
    0 10px 28px rgba(0,0,0,.08),
    0 22px 54px rgba(0,0,0,.10);
}

.buy-cta-card h2{
  margin:0 0 18px;
  padding:0 0 12px;
  border-left:none;
  border-bottom:1px solid #dcc4a8;
  text-align:center;
  font-size:clamp(18px, 2.2vw, 20px);
  font-weight:900;
  line-height:1.5;
  color:#1f2937;
}

.buy-cta-lead{
  margin:0 0 18px;
  font-size:15px;
  line-height:1.9;
  color:#374151;
  text-align:center;
}

.buy-cta-line-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding:18px 20px;
  margin-bottom:18px;
  background:#f7fbf8;
  border:1px solid #c8d5cd;
  border-radius:14px;
}

.buy-cta-line-text{
  flex:1 1 320px;
  min-width:0;
}

.buy-cta-line-title{
  margin:0 0 8px;
  font-size:18px;
  font-weight:900;
  color:#111;
  line-height:1.5;
}

.buy-cta-line-tag{
  display:inline-flex;
  align-items:center;
  padding:9px 16px;
  border-radius:999px;
  background:#ecfaf1;
  border:1px solid #bfe5c9;
  color:#1f6f43;
  font-size:16px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.01em;
}

.buy-cta-line-desc{
  font-size:15px;
  line-height:1.9;
  color:#374151;
}

.buy-cta-line-action{
  flex:0 0 auto;
}

.buy-cta-form{
  margin:0;
}

.buy-cta-fields{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-bottom:16px;
}

.buy-cta-field{
  min-width:0;
}

.buy-cta-field-full{
  grid-column:1 / -1;
}

.buy-cta-field label,
.buy-cta-field-label{
  display:block;
  margin-bottom:6px;
  font-size:14px;
  font-weight:800;
  color:#222;
  line-height:1.6;
}

.buy-required{
  color:#b91c1c;
  font-weight:800;
}

.buy-optional{
  color:#6b7280;
  font-weight:700;
  font-size:12px;
}

.buy-cta-field input,
.buy-cta-field select,
.buy-cta-field textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d7b792;
  border-radius:12px;
  background:#fff;
  color:#222;
  font:inherit;
  padding:12px 14px;
  line-height:1.6;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.buy-cta-field textarea{
  resize:vertical;
  min-height:140px;
}

.buy-cta-field input::placeholder,
.buy-cta-field textarea::placeholder{
  color:#9ca3af;
}

.buy-cta-field input:focus,
.buy-cta-field select:focus,
.buy-cta-field textarea:focus{
  outline:none;
  border-color:#e6a65b;
  box-shadow:0 0 0 4px rgba(247,147,30,.16);
  background:#fff;
}

.buy-cta-radios{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  padding:12px 14px;
  border:1px solid #f1dfc9;
  border-radius:12px;
  background:#fff;
}

.buy-cta-radios label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  font-size:14px;
  line-height:1.6;
  color:#374151;
  writing-mode:horizontal-tb;
  text-orientation:mixed;
  white-space:nowrap;
}

.buy-cta-radios input{
  margin:0;
  flex:0 0 auto;
  width:auto;
  height:auto;
}

.buy-cta-checks{
  margin:0 0 16px;
  padding:14px;
  border:1px solid #dcc0a0;
  border-radius:14px;
  background:#fff;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 14px;
}

.buy-cta-checks legend{
  padding:0 8px;
  font-size:14px;
  font-weight:900;
  color:#222;
}

.buy-cta-checks label{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:14px;
  line-height:1.7;
  color:#374151;
}

.buy-cta-checks input{
  margin-top:3px;
  flex:0 0 auto;
}

.buy-cta-privacy{
  margin:0 0 14px;
  padding:14px 16px;
  border-radius:12px;
  background:#fff4e8;
  border:1px solid #ddbf99;
  font-size:13px;
  line-height:1.8;
  color:#4b5563;
}

.buy-cta-privacy a{
  color:#7E4400;
  font-weight:700;
}

.buy-cta-agree{
  margin:0 0 16px;
  font-size:14px;
  line-height:1.8;
  color:#222;
}

.buy-cta-agree label{
  display:flex;
  align-items:flex-start;
  gap:8px;
}

.buy-cta-agree input{
  margin-top:4px;
  flex:0 0 auto;
}

.buy-cta-submit{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:center;
  margin-top:20px;
}

.buy-cta-line-action .cta-line{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  border-radius:999px;
  border:2px solid #06c755;
  background:#06c755;
  color:#fff;
  font-weight:900;
  font-size:15px;
  letter-spacing:.01em;
  white-space:nowrap;
  box-sizing:border-box;
  text-decoration:none;
  text-align:center;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(6,199,85,.18);
}

.buy-cta-line-action .cta-line:hover{
  background:#05b94e;
  border-color:#05b94e;
  color:#fff;
  text-decoration:none;
  transform:translateY(-1px);
}

.buy-cta-line-action .cta-line:visited{
  color:#fff;
  text-decoration:none;
}

.buy-cta-submit .cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  border:2px solid #f7931e;
  background:linear-gradient(#ffd9a8,#ffc36d);
  color:#111;
  font:inherit;
  font-weight:900;
  letter-spacing:.02em;
  white-space:nowrap;
  box-sizing:border-box;
  text-decoration:none;
  text-align:center;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}

.buy-cta-submit .cta-btn:hover{
  filter:brightness(.98);
  text-decoration:none;
}

.buy-cta-submit .cta-btn:visited{
  color:#111;
  text-decoration:none;
}

.buy-hp{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.buy-cta-mailnote{
  margin-top: 14px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.7;
  color: #374151;
  background: #fffaf5;
  border: 1px solid #f1dfc9;
  border-radius: 10px;
}

@media (max-width:800px){
  .buy-cta-checks{
    grid-template-columns:1fr;
  }

  .buy-cta-line-box{
    align-items:stretch;
  }

  .buy-cta-line-action{
    width:100%;
  }

  .buy-cta-line-action .cta-line,
  .buy-cta-submit .cta-btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .buy-cta-submit{
    align-items:stretch;
  }
}

@media (max-width:640px){
  .buy-cta-card h2{
    font-size:18px;
    line-height:1.5;
    letter-spacing:0;
  }
}

@media (min-width:801px){
  #buy-contact-section{
    scroll-margin-top: 160px;
  }
}