.creasilk-sample-configurator{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  box-sizing:border-box;
}
.creasilk-sample-configurator *,
.creasilk-sample-configurator *::before,
.creasilk-sample-configurator *::after{box-sizing:border-box}

/* Campi principali */
.creasilk-sample-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 22px;
  width:100%;
  padding:0 0 24px;
  border-bottom:1px solid #e5e5e5;
}
.creasilk-sample-fields .creasilk-field{min-width:0;margin:0}
.creasilk-sample-fields .creasilk-field>span:first-child{
  display:block;
  margin:0 0 8px;
  font-size:14px;
  line-height:1.35;
  font-weight:600;
}
.creasilk-sample-fields select,
.creasilk-sample-fields input[type="text"]{
  width:100%!important;
  min-width:0!important;
  height:50px!important;
  margin:0!important;
  padding:0 42px 0 14px!important;
  border:1px solid #d7d7d7!important;
  border-radius:0!important;
  background-color:#fff!important;
  font-size:15px!important;
  line-height:48px!important;
}
.creasilk-sample-fields input[type="text"]{padding-right:14px!important}

/* File del campione: titolo/aiuto 100%, poi due colonne 50/50 */
.creasilk-sample-file-section{
  display:block;
  width:100%;
  padding:24px 0;
  border-bottom:1px solid #e5e5e5;
}
.creasilk-sample-file-main{
  display:block;
  width:100%;
  margin:0 0 18px;
}
.creasilk-sample-file-main strong,
.creasilk-sample-file-main span{display:block}
.creasilk-sample-file-main strong{
  margin:0 0 5px;
  font-size:16px;
  line-height:1.3;
  font-weight:600;
}
.creasilk-sample-file-main span{
  margin:0;
  max-width:none;
  font-size:14px;
  line-height:1.5;
  color:#666;
}
.creasilk-sample-file-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:18px;
  width:100%;
}
.creasilk-sample-upload-column,
.creasilk-sample-file-link-field{
  flex:0 0 auto;
  width:100%;
  min-width:0;
  margin:0!important;
}
.creasilk-sample-control-spacer{
  display:none!important;
}
.creasilk-sample-file-link-field>span{
  display:block!important;
  height:auto;
  margin:0 0 8px!important;
  font-size:14px;
  line-height:1.35;
  font-weight:600;
}

.creasilk-sample-design-file{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  min-height:50px;
}
.creasilk-sample-design-file .creasilk-upload-button{
  flex:0 0 auto!important;
  width:auto!important;
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
}
.creasilk-sample-design-file .creasilk-upload-button span{
  height:50px!important;
  min-height:50px!important;
  padding:0 18px!important;
  font-size:14px!important;
}
.creasilk-sample-design-file .creasilk-upload-preview{
  flex:0 0 50px!important;
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
}
.creasilk-sample-design-file .creasilk-upload-thumb,
.creasilk-sample-design-file .creasilk-upload-file-icon{
  width:50px!important;
  height:50px!important;
  object-fit:cover;
}
.creasilk-sample-design-file .creasilk-upload-feedback{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  min-width:0!important;
  min-height:50px!important;
  width:auto!important;
  margin:0!important;
  overflow:hidden;
}
.creasilk-sample-design-file .creasilk-upload-status{
  display:block;
  min-width:0;
  margin:0;
  font-size:14px!important;
  line-height:1.35!important;
  color:#666;
  white-space:normal;
  overflow-wrap:anywhere;
}
.creasilk-sample-design-file .creasilk-upload-progress{
  width:100%;
  margin-top:6px;
}
.creasilk-sample-design-file .creasilk-remove-upload{
  flex:0 0 50px!important;
  width:50px!important;
  min-width:50px!important;
  height:50px!important;
  min-height:50px!important;
  font-size:22px!important;
}

.creasilk-sample-file-link-field{
  display:block!important;
}
.creasilk-sample-file-link-field input{
  display:block;
  width:100%!important;
  min-width:0!important;
  height:50px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid #d7d7d7!important;
  border-radius:0!important;
  background:#fff!important;
  font-size:15px!important;
  line-height:48px!important;
}

/* Riepilogo */
.creasilk-sample-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:24px;
  width:100%;
  padding:24px 0 0;
}
.creasilk-sample-price-block{min-width:0}
.creasilk-sample-price-label{
  display:block;
  margin:0 0 7px;
  font-size:14px;
  line-height:1.35;
  color:#666;
}
.creasilk-sample-price-line{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:7px 10px;
}
.creasilk-sample-price{
  font-size:24px!important;
  line-height:1.1!important;
  color:#111!important;
  font-weight:700!important;
}
.creasilk-sample-tax-suffix{
  font-size:14px!important;
  line-height:1.35!important;
  color:#666!important;
  font-weight:500!important;
}
.creasilk-add-sample{
  min-height:50px!important;
  padding:0 24px!important;
  border:0!important;
  border-radius:0!important;
  background:#111!important;
  color:#fff!important;
  font-size:15px!important;
  line-height:50px!important;
  font-weight:700!important;
  text-transform:none!important;
  white-space:nowrap;
}
.creasilk-add-sample.is-disabled{opacity:.42;cursor:not-allowed!important}
.creasilk-sample-status{margin-top:10px;font-size:14px;font-weight:600;line-height:1.4}
.creasilk-sample-status.is-error{color:#b42318}
.creasilk-sample-status.is-success{color:#157f3b}

/* Mobile: tutto 100%, una cosa sotto l'altra */
@media (max-width:767px){
  .creasilk-sample-fields{
    grid-template-columns:1fr;
    gap:16px;
    padding-bottom:20px;
  }
  .creasilk-sample-fields select,
  .creasilk-sample-fields input[type="text"]{
    height:52px!important;
    font-size:16px!important;
  }
  .creasilk-sample-file-section{
    padding:20px 0;
  }
  .creasilk-sample-file-main{
    margin-bottom:16px;
  }
  .creasilk-sample-file-actions{
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .creasilk-sample-upload-column,
  .creasilk-sample-file-link-field{
    flex:0 0 auto;
    width:100%;
  }
  .creasilk-sample-control-spacer{
    display:none!important;
  }
  .creasilk-sample-design-file{
    width:100%!important;
    min-height:52px;
  }
  .creasilk-sample-design-file .creasilk-upload-button,
  .creasilk-sample-design-file .creasilk-upload-button span{
    height:52px!important;
    min-height:52px!important;
  }
  .creasilk-sample-design-file .creasilk-upload-button span{
    padding:0 16px!important;
    font-size:15px!important;
  }
  .creasilk-sample-design-file .creasilk-upload-preview{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
  }
  .creasilk-sample-design-file .creasilk-upload-thumb,
  .creasilk-sample-design-file .creasilk-upload-file-icon{
    width:52px!important;
    height:52px!important;
  }
  .creasilk-sample-design-file .creasilk-upload-feedback{
    min-height:52px!important;
  }
  .creasilk-sample-design-file .creasilk-remove-upload{
    flex-basis:52px!important;
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    min-height:52px!important;
  }
  .creasilk-sample-file-link-field>span{
    height:auto;
    margin-bottom:8px!important;
    line-height:1.35;
  }
  .creasilk-sample-file-link-field input{
    height:52px!important;
    font-size:16px!important;
  }
  .creasilk-sample-summary{
    grid-template-columns:1fr;
    align-items:stretch;
    gap:16px;
    padding-top:20px;
  }
  .creasilk-sample-price{font-size:25px!important}
  .creasilk-add-sample{width:100%!important;min-height:52px!important;line-height:52px!important}
}


/* Drag & drop: campione */
.creasilk-sample-configurator .creasilk-sample-design-file.creasilk-dropzone{
  min-height:104px!important;
  height:auto!important;
  align-content:center!important;
}
.creasilk-sample-configurator .creasilk-sample-design-file.creasilk-dropzone .creasilk-upload-button,
.creasilk-sample-configurator .creasilk-sample-design-file.creasilk-dropzone .creasilk-upload-button span{height:46px!important;min-height:46px!important}
.creasilk-sample-configurator .creasilk-sample-design-file.creasilk-dropzone .creasilk-upload-preview{width:46px!important;height:46px!important;min-width:46px!important;flex-basis:46px!important}
.creasilk-sample-configurator .creasilk-sample-design-file.creasilk-dropzone .creasilk-remove-upload{width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important}
@media (max-width:767px){.creasilk-sample-configurator .creasilk-sample-design-file.creasilk-dropzone{width:100%!important;min-height:96px!important}}


/* v0.9.5 — File campione sempre full width */
.creasilk-sample-configurator .creasilk-sample-file-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:18px!important;
  width:100%!important;
}
.creasilk-sample-configurator .creasilk-sample-upload-column,
.creasilk-sample-configurator .creasilk-sample-file-link-field{
  display:block!important;
  flex:0 0 100%!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.creasilk-sample-configurator .creasilk-sample-design-file{
  width:100%!important;
  max-width:100%!important;
}
.creasilk-sample-configurator .creasilk-sample-file-link-field input{
  width:100%!important;
  max-width:100%!important;
}


/* v0.9.7 — campi obbligatori + pulsante informazioni file */
.creasilk-sample-configurator .creasilk-required{
  color:#d11f1f;
  font-weight:700;
}
.creasilk-sample-configurator .creasilk-sample-file-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  width:100%;
}
.creasilk-sample-configurator .creasilk-sample-file-heading-copy{
  min-width:0;
}
.creasilk-sample-configurator .creasilk-sample-info-trigger{
  appearance:none!important;
  -webkit-appearance:none!important;
  flex:0 0 auto;
  min-height:36px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid #d9dddb!important;
  border-radius:0!important;
  background:#f5f6f5!important;
  color:#26312d!important;
  box-shadow:none!important;
  font-size:13px!important;
  line-height:34px!important;
  font-weight:600!important;
  text-transform:none!important;
  cursor:pointer!important;
}
.creasilk-sample-configurator .creasilk-sample-info-trigger:hover,
.creasilk-sample-configurator .creasilk-sample-info-trigger:focus{
  background:#ecefed!important;
  border-color:#bfc7c3!important;
  color:#111!important;
}
@media(max-width:767px){
  .creasilk-sample-configurator .creasilk-sample-file-heading{
    gap:12px;
  }
  .creasilk-sample-configurator .creasilk-sample-info-trigger{
    min-height:40px!important;
    line-height:38px!important;
    white-space:nowrap;
  }
}


/* v0.9.8 — dettagli form */
.creasilk-sample-configurator .creasilk-sample-file-heading-copy strong .creasilk-required{
  display:inline!important;
  margin:0!important;
  max-width:none!important;
  color:#d11f1f!important;
  font-weight:700!important;
}
.creasilk-sample-configurator input::placeholder{
  color:#b8b8b8!important;
  opacity:1!important;
}
.creasilk-sample-configurator input::-webkit-input-placeholder{
  color:#b8b8b8!important;
  opacity:1!important;
}


/* v0.10.4 — rispetta lo stato shared della preview */
.creasilk-sample-design-file .creasilk-upload-thumb[hidden],
.creasilk-sample-design-file .creasilk-upload-file-icon[hidden]{
  display:none!important;
}
.creasilk-sample-design-file .creasilk-upload-file-icon:not([hidden]){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f6f6f6!important;
}


/* v0.12.8 — upload campione compatto anche dopo controllo qualità */
.creasilk-sample-configurator .creasilk-sample-design-file.creasilk-dropzone{
    min-height:0!important;
    height:auto!important;
}
.creasilk-sample-configurator .creasilk-sample-design-file.creasilk-dropzone>.creasilk-file-quality{
    grid-area:quality!important;
    width:100%!important;
    max-width:100%!important;
}
@media(max-width:767px){
    .creasilk-sample-configurator .creasilk-sample-design-file.creasilk-dropzone{
        min-height:0!important;
    }
}
