/* Preisliste-like styling with robust sizing */
.cfs-wrapper{box-sizing:border-box;width:100%;margin:0 auto;}
@media (min-width:768px){.cfs-wrapper{width:80%;}}

.cfs-box{
  background:#fff;
  border-radius:14px;
  box-shadow:0 6px 22px rgba(0,0,0,.07);
  padding:16px 18px;
  margin:20px 0;
  overflow:hidden; /* clip inner elements so nothing sticks out */
}

.cfs-title{text-align:center;font-weight:800;font-size:1.25rem;margin:0 0 12px;color:#111827;}

.cfs-grid{display:grid;grid-template-columns:1fr;gap:12px;}
@media (min-width:640px){
  .cfs-grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);} /* prevent overflow */
}

.cfs-label{display:block;font-weight:700;margin-bottom:6px;color:#111827;text-align:left;}

/* Inputs always stay inside the box */
.cfs-input,.cfs-textarea,.cfs-select{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid #d7e7f7;
  border-radius:10px;
  font-size:1rem;
  background:#ffffff;
  outline:none;
}
.cfs-input:focus,.cfs-textarea:focus,.cfs-select:focus{
  border-color:#cfe3f7;
  box-shadow:0 0 0 3px rgba(207,227,247,.35);
}
.cfs-textarea{min-height:160px;resize:vertical;}
.cfs-select{background-color:#f8fbff;}

/* Actions */
.cfs-actions{display:flex;justify-content:center;margin-top:10px;}
.cfs-button{
  appearance:none;
  border:1px solid #cfe3f7;
  border-radius:10px; /* less round as requested */
  padding:10px 18px;
  background:#eaf3ff;
  color:#111827;
  font-weight:700;
  cursor:pointer;
}
.cfs-button:hover{filter:brightness(0.98);}

/* Alerts */
.cfs-alert{padding:10px 12px;border-radius:12px;margin:10px 0;}
.cfs-alert.error{background:#fff1f2;border:1px solid #fecdd3;color:#7f1d1d;}
.cfs-alert.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;}

/* Help */
.cfs-help{font-size:.85rem;color:#6b7280;margin-top:6px;}

/* Make sure Grammarly or other widgets don't force overflow */
.cfs-box *{max-width:100%;}
