.lstc{box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:14px;border:1px solid #dedede;border-radius:7px;background:#fff;color:inherit;font-size:15px;line-height:1.35}
.lstc *{box-sizing:border-box}
.lstc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;align-items:start}
.lstc-field{min-width:0}
.lstc-field>label,.lstc-label,.lstc-upload-label,.lstc-price-label{display:block;font-size:14px;font-weight:600;line-height:1.25;margin:0 0 5px}
.lstc select,.lstc input[type="text"],.lstc input[type="number"]{width:100%;min-height:38px;border:1px solid #d5d5d5;border-radius:5px;background:#fff;padding:6px 11px;font:inherit;color:inherit}
.lstc select:focus,.lstc input:focus{outline:none;border-color:#999;box-shadow:0 0 0 1px rgba(0,0,0,.05)}
.lstc-radio-row{display:flex;gap:14px;min-height:38px;align-items:center;padding:0 2px}
.lstc-radio-row label,.lstc-turnaround-option,.lstc-send-later{font-weight:400;display:inline-flex;align-items:center;gap:6px;margin:0}
.lstc-turnaround-field{align-self:end}
.lstc-total-order{margin:14px 0 0;padding:9px 11px;border:1px solid #e0e0e0;border-radius:5px;background:#fafafa;font-size:14px}
.lstc-total-order strong{font-weight:700}
.lstc-upload-block{margin-top:14px}
.lstc-file-input{display:block;width:100%;max-width:100%;margin:0 0 4px;font-size:14px}
.lstc-upload-help{font-size:12px;color:#666;margin:0 0 7px}
.lstc-upload-button{margin:0 0 5px;min-height:36px;padding:5px 14px}
.lstc-upload-status{font-size:13px;min-height:17px;margin:1px 0 4px}
.lstc-send-later{display:flex;margin-top:5px;font-size:13px}
.lstc-uploaded-files{margin-top:5px}
.lstc-uploaded-file{font-size:13px;margin-top:2px}
.lstc-price-wrap{margin-top:14px;padding-top:0}
.lstc-price-label{margin-bottom:3px}
.lstc-price{font-size:22px;font-weight:700;line-height:1.2}
.lstc-message{font-size:13px;color:#b32d2e;margin-top:4px;min-height:16px}
.lstc-cart-form{margin:10px 0 0}
.lstc-add{min-width:96px;min-height:36px;padding:6px 14px}
.lstc-add:disabled{opacity:.55;cursor:not-allowed}
.lstc-preview-notice,.lstc-error{padding:9px 11px;margin:0 0 12px;border:1px solid #dba617;background:#fff8e5;border-radius:4px}
.lstc-error{border-color:#b32d2e;background:#fcf0f1;color:#8a2424}
.lstc-cart-line-qty{display:inline-block;min-width:24px;text-align:center}

/* Active trade products use LS Trade Configurator as the sole buy box. */
body.lstc-trade-product form.cart:not(.lstc-cart-form){display:none!important}
body.lstc-trade-product .lstc-cart-form{display:block!important}

/* Let WooCommerce / the site theme provide the same button colour treatment as the existing LS Configurator. */
.lstc .button.alt,.lstc .single_add_to_cart_button{font-weight:600;border-radius:5px}

@media(max-width:850px){.lstc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.lstc{padding:12px}.lstc-grid{grid-template-columns:1fr;gap:12px}.lstc-field>label,.lstc-label,.lstc-upload-label,.lstc-price-label{font-size:14px}}

/* v0.3.4: match the main LS Configurator buttons exactly. */
.lstc .lstc-upload-button,
.lstc button.lstc-upload-button,
.lstc .lstc-add,
.lstc button.lstc-add,
.lstc .single_add_to_cart_button.lstc-add{
  background:#1400ff !important;
  border-color:#1400ff !important;
  color:#fff !important;
  border-radius:8px !important;
  font-weight:700 !important;
  min-height:40px;
  padding:10px 18px;
  box-shadow:none !important;
}
.lstc .lstc-upload-button:hover,
.lstc .lstc-upload-button:focus,
.lstc .lstc-add:hover,
.lstc .lstc-add:focus,
.lstc .single_add_to_cart_button.lstc-add:hover,
.lstc .single_add_to_cart_button.lstc-add:focus{
  background:#1400ff !important;
  border-color:#1400ff !important;
  color:#fff !important;
  opacity:.92;
}
.lstc .lstc-upload-button:disabled,
.lstc .lstc-add:disabled{
  background:#1400ff !important;
  border-color:#1400ff !important;
  color:#fff !important;
  opacity:.55;
}
