/* v0.4.3: Bricks renders a separate .choose-files label for file fields.
   Hide that native substitute completely; the CrazyWeb upload zone is the UI. */
.cwg4-form .form-group.file > input[type="file"],
.cwg4-form .form-group.file .choose-files,
.cwg4-form .form-group.file .cw-hide-bricks-file-control,
.cwg4-form .form-group.file .file-result,
.cwx-form .form-group.file > input[type="file"],
.cwx-form .form-group.file .choose-files,
.cwx-form .form-group.file .cw-hide-bricks-file-control,
.cwx-form .form-group.file .file-result{
  display:none!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  opacity:0!important;
  visibility:hidden!important;
}

/* Optional extras: turn Bricks checkbox list into whole-card choices. */
.cwg4-form ul.options-wrapper.cw-extra-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.cwg4-form ul.options-wrapper.cw-extra-options > li{
  position:relative!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.cwg4-form ul.options-wrapper.cw-extra-options > li > input[type="checkbox"]{
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  accent-color:#116df5!important;
  cursor:pointer!important;
}
.cwg4-form ul.options-wrapper.cw-extra-options > li > label{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:56px!important;
  margin:0!important;
  padding:11px 14px 11px 46px!important;
  border:1px solid #d7e4ee!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#172033!important;
  font:800 11.5px/1.35 Arial,Helvetica,sans-serif!important;
  cursor:pointer!important;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
.cwg4-form ul.options-wrapper.cw-extra-options > li:hover > label{
  border-color:#9fc3ef!important;
  transform:translateY(-1px)!important;
}
.cwg4-form ul.options-wrapper.cw-extra-options > li > input[type="checkbox"]:checked + label{
  border-color:#116df5!important;
  background:#eef6ff!important;
  box-shadow:0 0 0 3px rgba(17,109,245,.07)!important;
}
@media(max-width:760px){
  .cwg4-form ul.options-wrapper.cw-extra-options{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
}

/* CrazyWeb Core — Get Started modern file uploader */
.cwg4-form .form-group:has(.cw-native-file),
.cwx-form .form-group:has(.cw-native-file){
  position:relative!important;
  overflow:visible!important;
}
.cwg4-form .cw-native-file,
.cwx-form .cw-native-file{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
  pointer-events:none!important;
}
.cw-upload-zone{
  width:100%;
  min-height:154px;
  padding:18px;
  border:1.5px dashed #9fc3ef;
  border-radius:14px;
  background:linear-gradient(180deg,#f8fbff 0%,#f1f7ff 100%);
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  grid-template-areas:
    "icon copy"
    "icon action";
  column-gap:14px;
  row-gap:12px;
  align-items:center;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
  outline:none;
}
.cw-upload-zone:hover,
.cw-upload-zone:focus-visible,
.cw-upload-zone.is-dragging{
  border-color:#116df5;
  background:#eef6ff;
  box-shadow:0 0 0 4px rgba(17,109,245,.08);
}
.cw-upload-zone.is-dragging{transform:translateY(-1px)}
.cw-upload-zone.has-files{
  border-style:solid;
  border-color:#7daef0;
  background:#f4f9ff;
}
.cw-upload-icon{
  grid-area:icon;
  width:48px;
  height:48px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e4f0ff;
  color:#116df5;
  align-self:start;
}
.cw-upload-icon svg{width:24px;height:24px;display:block;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cw-upload-copy{grid-area:copy;min-width:0}
.cw-upload-title{display:block;color:#111827;font:900 14px/1.25 Arial,Helvetica,sans-serif}
.cw-upload-hint{display:block;margin-top:5px;color:#718096;font:500 11.5px/1.45 Arial,Helvetica,sans-serif}
.cw-upload-action{
  grid-area:action;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex-wrap:wrap;
}
.cw-upload-button{
  appearance:none;
  -webkit-appearance:none;
  min-height:38px;
  padding:0 14px;
  border:1px solid #116df5;
  border-radius:9px;
  background:#116df5;
  color:#fff;
  font:900 11.5px/1 Arial,Helvetica,sans-serif;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(17,109,245,.13);
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.cw-upload-button:hover{background:#075fdc;box-shadow:0 8px 18px rgba(17,109,245,.18);transform:translateY(-1px)}
.cw-upload-status{
  min-width:0;
  max-width:100%;
  color:#667487;
  font:600 11px/1.35 Arial,Helvetica,sans-serif;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cw-upload-zone.has-files .cw-upload-status{color:#116df5;font-weight:800}
@media(max-width:760px){
  .cw-upload-zone{
    min-height:142px;
    padding:15px;
    grid-template-columns:42px minmax(0,1fr);
    column-gap:12px;
  }
  .cw-upload-icon{width:42px;height:42px;border-radius:11px}
  .cw-upload-icon svg{width:21px;height:21px}
  .cw-upload-action{display:grid;grid-template-columns:1fr;gap:8px}
  .cw-upload-button{width:100%;min-height:42px}
  .cw-upload-status{white-space:normal}
}

/* v0.5.5 — GLOBAL GET STARTED FIELD RHYTHM
   Bricks outputs each field as its own .form-group. The page template had
   margin:0 on those wrappers, which visually glued the next label to the
   previous control. Spacing belongs on the field wrapper, not on the next
   label. These rules intentionally beat the older page-scoped rule. */
.cwg4-form.cwx-form > .form-group,
.cwg4-form > .form-group,
.cwx-form.cwg4-form > .form-group{
  margin:0 0 18px!important;
  padding:0!important;
}

/* Keep the label attached to its OWN control, while leaving breathing room
   between separate fields. */
.cwg4-form.cwx-form > .form-group > label:first-child,
.cwg4-form > .form-group > label:first-child{
  display:block!important;
  margin:0 0 7px!important;
}

/* File/upload groups and add-on groups are visually larger components, so
   give them a little more separation from whatever follows. */
.cwg4-form.cwx-form > .form-group.file,
.cwg4-form > .form-group.file,
.cwg4-form.cwx-form > .form-group:has(input[type="checkbox"]),
.cwg4-form > .form-group:has(input[type="checkbox"]){
  margin-bottom:22px!important;
}

/* The last normal field should still breathe before the submit action. */
.cwg4-form.cwx-form > .form-group:last-of-type,
.cwg4-form > .form-group:last-of-type{
  margin-bottom:18px!important;
}

@media (max-width:760px){
  .cwg4-form.cwx-form > .form-group,
  .cwg4-form > .form-group,
  .cwx-form.cwg4-form > .form-group{
    margin-bottom:16px!important;
  }
  .cwg4-form.cwx-form > .form-group.file,
  .cwg4-form > .form-group.file,
  .cwg4-form.cwx-form > .form-group:has(input[type="checkbox"]),
  .cwg4-form > .form-group:has(input[type="checkbox"]){
    margin-bottom:20px!important;
  }
}
