.ckk-form-wrapper {
  max-width: 700px;
  margin: 40px auto;
  padding: 30px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.ckk-form-wrapper .acf-field {
  margin-bottom: 20px;
}

.ckk-form-wrapper .acf-label label {
  font-weight: 600;
  font-size: 16px;
  color: #2b2b2b;
}

.ckk-form-wrapper input,
.ckk-form-wrapper select,
.ckk-form-wrapper textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 15px;
}

.ckk-form-wrapper input:focus,
.ckk-form-wrapper select:focus,
.ckk-form-wrapper textarea:focus {
  border-color: #2b2b2b;
  outline: none;
}

.ckk-form-wrapper .acf-button {
  background-color: #2b2b2b;
  color: #fff;
  padding: 14px 24px;
  border-radius: 6px;
  border: none;
  font-size: 16px;
  cursor: pointer;
}

.ckk-form-wrapper .acf-button:hover {
  background-color: #444;
}



/* Make ACF front-end form fields responsive in columns */
.ckk-form-wrapper form.acf-form {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

/* Default: each field takes full width */
.ckk-form-wrapper .acf-field {
  flex: 1 1 100%;
  margin: 0 !important;
}

/* Respect ACF wrapper widths on desktop/tablet */
@media (min-width: 768px) {
  .ckk-form-wrapper .acf-field[data-width="50"] { flex: 1 1 calc(50% - 18px); }
  .ckk-form-wrapper .acf-field[data-width="33"] { flex: 1 1 calc(33.333% - 18px); }
  .ckk-form-wrapper .acf-field[data-width="25"] { flex: 1 1 calc(25% - 18px); }
}

/* Always full width on phones */
@media (max-width: 767px) {
  .ckk-form-wrapper .acf-field {
    flex: 1 1 100% !important;
  }
}