.oston-form-wrap{
  font-family: inherit;
  max-width: 760px;
  margin: 0 auto;
}
.oston-form--card{
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 14px 40px rgba(0,0,0,0.10);
  overflow: hidden;
}
.oston-form-header{
  background: #e9f7f1;
  padding: 18px 22px;
  text-align: center;
}
.oston-form-header h3{
  margin: 0;
  font-size: 20px;
  font-weight: 700;
}
.oston-form{
  padding: 18px 22px 22px;
}
.oston-form-notice{
  max-width: 760px;
  margin: 12px auto;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.10);
}
.oston-form-success{ background:#e6f4ea; }
.oston-form-error{ background:#f8d7da; }
.oston-hp{ position:absolute; left:-9999px; top:-9999px; height:0; overflow:hidden; }

.oston-fields-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
}
.oston-col-full{ grid-column: span 2; }
.oston-col-half{ grid-column: span 1; }

.oston-field label{
  display:block;
  font-weight: 600;
  margin: 0 0 7px;
}
.oston-field input[type="text"],
.oston-field input[type="email"],
.oston-field input[type="tel"],
.oston-field input[type="number"],
.oston-field input[type="url"],
.oston-field input[type="file"],
.oston-field select,
.oston-field textarea{
  width: 100%;
  max-width: 100%;
  padding: 12px 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.18);
  background: #fff;
  box-sizing: border-box;
}
.oston-field textarea{ resize: vertical; min-height: 120px; }
.oston-help{ margin-top:6px; font-size: 12px; opacity: 0.75; }

.oston-checkbox{ display:flex; gap:10px; align-items:center; }
.oston-checkbox input{ width:auto; }

.oston-submit{
  margin-top: 18px;
}
.oston-submit button{
  width: 100%;
  padding: 14px 16px;
  border-radius: 10px;
  border: 0;
  cursor: pointer;
  font-weight: 700;
  font-size: 16px;
  background: #2db075;
  color: #fff;
}
.oston-submit button:hover{ filter: brightness(0.95); }

@media (max-width: 640px){
  .oston-fields-grid{ grid-template-columns: 1fr; }
  .oston-col-full, .oston-col-half{ grid-column: span 1; }
}


/* v1.2.5 - spacing + rounded fields fixes */

/* Ensure consistent rounded inputs (some themes override) */
.oston-form input[type="text"],
.oston-form input[type="email"],
.oston-form input[type="tel"],
.oston-form input[type="number"],
.oston-form input[type="url"],
.oston-form input[type="file"],
.oston-form select,
.oston-form textarea{
  border-radius: 16px !important;
  padding: 14px 16px !important;
  box-sizing: border-box;
}

/* More vertical spacing between rows */
.oston-fields-grid{
  row-gap: 22px !important;
}

/* Prevent button overlap on tall textareas */
.oston-field textarea{
  margin-bottom: 24px !important;
}

/* Push submit button away from fields */
.oston-submit{
  margin-top: 28px !important;
}

/* Extra bottom padding for the form container */
.oston-form{
  padding-bottom: 24px !important;
}

/* Softer rounded button */
.oston-submit button{
  border-radius: 18px !important;
  height: 56px;
  font-size: 17px;
  font-weight: 700;
}


/* v1.2.6 - math anti-spam */

.oston-math input[type="number"]{
  max-width: 220px;
}


/* v1.3.0 - security always on (no admin toggle) */


/* v1.3.2 – Powered by footer */
.oston-powered{
  margin-top: 18px;
  text-align: center;
  font-size: 12px;
  color: #9aa3a8;
}
.oston-powered a{
  color: #9aa3a8;
  text-decoration: none;
}
.oston-powered a:hover{
  text-decoration: underline;
}
