
.ls-arch2lab-wrap{border:1px solid #ddd;padding:16px;border-radius:12px;max-width:860px;background:#fff}
.ls-arch2lab-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px 16px;align-items:start}
.ls-arch2lab-field{grid-column:span 12;min-width:0}
.ls-arch2lab-field label{display:block;font-weight:600;margin-bottom:6px;line-height:1.25}
.ls-arch2lab-field input[type="number"], .ls-arch2lab-field input[type="text"], .ls-arch2lab-field select{width:100%;padding:9px 10px;border:1px solid #ccc;border-radius:8px;min-height:40px;box-sizing:border-box;background:#fff}
.ls-arch2lab-wh{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ls-arch2lab-wh-col{min-width:0}
.ls-arch2lab-wh-label{display:block;font-size:12px;color:#555;margin-bottom:4px}
.ls-help{font-size:12px;color:#555;margin-top:6px}
.ls-arch2lab-loading{color:#444}
.ls-arch2lab-error{color:#a00;font-weight:700}
.ls-arch2lab-price{margin-top:16px;display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid #eee;padding-top:14px}
.ls-arch2lab-price-label{font-weight:700}
.ls-arch2lab-price-value{font-size:28px;font-weight:800}
.ls-arch2lab-debug{margin-top:10px;border-top:1px dashed #ddd;padding-top:10px}
.ls-arch2lab-debug-toggle{font-size:12px;color:#333;user-select:none}
.ls-debug{margin-top:8px;background:#f7f7f7;border:1px solid #e5e5e5;border-radius:8px;padding:10px;max-height:260px;overflow:auto;font-size:12px}
.ls-arch2lab-addon-groups{grid-column:span 12;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px 16px}
.ls-addon-group{grid-column:span 4}
.ls-addon-radio-list,.ls-addon-check-list{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.ls-addon-radio-list label,.ls-addon-check-list label{display:inline-flex;align-items:center;gap:6px;font-weight:400;margin:0}
.ls-addon-radio-list input,.ls-addon-check-list input{margin:0}
.ls-field-upload-placeholder,.ls-field-cart-placeholder{grid-column:span 12}
.ls-placeholder-box{padding:11px 12px;border:1px dashed #cfcfcf;border-radius:8px;background:#fafafa;color:#666;font-size:13px}

/* LF / rigid products */
.ls-layout-lf .ls-field-q{grid-column:span 4}
.ls-layout-lf .ls-field-wh{grid-column:span 8}
.ls-layout-lf .ls-field-mode,.ls-layout-lf .ls-field-paper,.ls-layout-lf .ls-field-laminate,.ls-layout-lf .ls-field-cut,.ls-layout-lf .ls-field-startnum,.ls-layout-lf .ls-field-size,.ls-layout-lf .ls-field-pages,.ls-layout-lf .ls-field-cover,.ls-layout-lf .ls-field-books{grid-column:span 4}
.ls-layout-lf .ls-arch2lab-addon-groups .group-graphic-support,
.ls-layout-lf .ls-arch2lab-addon-groups .group-proof,
.ls-layout-lf .ls-arch2lab-addon-groups .group-turnaround{grid-column:span 4}
.ls-layout-lf .ls-arch2lab-addon-groups .group-lamination,
.ls-layout-lf .ls-arch2lab-addon-groups .group-sticker-finish,
.ls-layout-lf .ls-arch2lab-addon-groups .group-banner-stand,
.ls-layout-lf .ls-arch2lab-addon-groups .group-stand-size,
.ls-layout-lf .ls-arch2lab-addon-groups .group-finishing{grid-column:span 4}

/* Booklets / calendars */
.ls-layout-booklet .ls-field-q,
.ls-layout-booklet .ls-field-size,
.ls-layout-booklet .ls-field-pages,
.ls-layout-booklet .ls-field-mode{grid-column:span 4}
.ls-layout-booklet .ls-field-paper,
.ls-layout-booklet .ls-field-cover{grid-column:span 6}
.ls-layout-booklet .ls-field-laminate,
.ls-layout-booklet .ls-field-cut,
.ls-layout-booklet .ls-field-startnum,
.ls-layout-booklet .ls-field-books{grid-column:span 4}
.ls-layout-booklet .ls-arch2lab-addon-groups .group-graphic-support,
.ls-layout-booklet .ls-arch2lab-addon-groups .group-proof,
.ls-layout-booklet .ls-arch2lab-addon-groups .group-turnaround{grid-column:span 4}

/* NCR */
.ls-layout-ncr .ls-field-q,
.ls-layout-ncr .ls-field-size,
.ls-layout-ncr .ls-field-paper,
.ls-layout-ncr .ls-field-mode,
.ls-layout-ncr .ls-field-startnum{grid-column:span 4}
.ls-layout-ncr .ls-arch2lab-addon-groups .group-sequential-numbering,
.ls-layout-ncr .ls-arch2lab-addon-groups .group-graphic-support,
.ls-layout-ncr .ls-arch2lab-addon-groups .group-proof,
.ls-layout-ncr .ls-arch2lab-addon-groups .group-turnaround,
.ls-layout-ncr .ls-arch2lab-addon-groups .group-perforation{grid-column:span 4}

/* Generic xerox cards/tickets */
.ls-layout-xerox .ls-field-q,
.ls-layout-xerox .ls-field-size,
.ls-layout-xerox .ls-field-mode,
.ls-layout-xerox .ls-field-paper,
.ls-layout-xerox .ls-field-cover,
.ls-layout-xerox .ls-field-pages,
.ls-layout-xerox .ls-field-startnum,
.ls-layout-xerox .ls-field-books{grid-column:span 4}
.ls-layout-xerox .ls-arch2lab-addon-groups .group-graphic-support,
.ls-layout-xerox .ls-arch2lab-addon-groups .group-proof,
.ls-layout-xerox .ls-arch2lab-addon-groups .group-turnaround,
.ls-layout-xerox .ls-arch2lab-addon-groups .group-perforation,
.ls-layout-xerox .ls-arch2lab-addon-groups .group-sequential-numbering,
.ls-layout-xerox .ls-arch2lab-addon-groups .group-corner-rounding{grid-column:span 4}

@media (max-width: 900px){
  .ls-arch2lab-wrap{max-width:100%}
}
@media (max-width: 700px){
  .ls-arch2lab-grid,.ls-arch2lab-addon-groups,.ls-arch2lab-wh{grid-template-columns:1fr}
  .ls-arch2lab-field,.ls-addon-group,.ls-layout-lf .ls-field-q,.ls-layout-lf .ls-field-wh,.ls-layout-lf .ls-field-mode,.ls-layout-lf .ls-field-paper,.ls-layout-lf .ls-field-laminate,.ls-layout-lf .ls-field-cut,.ls-layout-lf .ls-field-startnum,.ls-layout-lf .ls-field-size,.ls-layout-lf .ls-field-pages,.ls-layout-lf .ls-field-cover,.ls-layout-lf .ls-field-books,.ls-layout-booklet .ls-field-q,.ls-layout-booklet .ls-field-size,.ls-layout-booklet .ls-field-pages,.ls-layout-booklet .ls-field-mode,.ls-layout-booklet .ls-field-paper,.ls-layout-booklet .ls-field-cover,.ls-layout-booklet .ls-field-laminate,.ls-layout-booklet .ls-field-cut,.ls-layout-booklet .ls-field-startnum,.ls-layout-booklet .ls-field-books,.ls-layout-ncr .ls-field-q,.ls-layout-ncr .ls-field-size,.ls-layout-ncr .ls-field-paper,.ls-layout-ncr .ls-field-mode,.ls-layout-ncr .ls-field-startnum,.ls-layout-xerox .ls-field-q,.ls-layout-xerox .ls-field-size,.ls-layout-xerox .ls-field-mode,.ls-layout-xerox .ls-field-paper,.ls-layout-xerox .ls-field-cover,.ls-layout-xerox .ls-field-pages,.ls-layout-xerox .ls-field-startnum,.ls-layout-xerox .ls-field-books{grid-column:span 12}
  .ls-addon-radio-list,.ls-addon-check-list{gap:8px 12px}
}


/* v0.4.1 layout refinements */
.ls-layout-lf .ls-field-q{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:108px;
}
.ls-layout-lf .ls-field-q input,
.ls-layout-lf .ls-field-q select{
  margin-top:auto;
}

/* Booklet/calendar: keep Media and Cover on the same row; move Print below */
.ls-layout-booklet .ls-field-q,
.ls-layout-booklet .ls-field-size,
.ls-layout-booklet .ls-field-pages{grid-column:span 4}
.ls-layout-booklet .ls-field-paper,
.ls-layout-booklet .ls-field-cover{grid-column:span 6}
.ls-layout-booklet .ls-field-mode{grid-column:span 4}
.ls-layout-booklet .ls-arch2lab-addon-groups .group-graphic-support,
.ls-layout-booklet .ls-arch2lab-addon-groups .group-proof,
.ls-layout-booklet .ls-arch2lab-addon-groups .group-turnaround{grid-column:span 4}

/* NCR: explicit group ordering */
.ls-layout-ncr .ls-arch2lab-addon-groups .group-sequential-numbering{order:10; grid-column:span 4}
.ls-layout-ncr .ls-field-startnum{order:11; grid-column:span 4}
.ls-layout-ncr .ls-arch2lab-addon-groups .group-turnaround{order:20; grid-column:span 4}
.ls-layout-ncr .ls-arch2lab-addon-groups .group-perforation{order:21; grid-column:span 4}
.ls-layout-ncr .ls-arch2lab-addon-groups .group-proof{order:22; grid-column:span 4}
.ls-layout-ncr .ls-arch2lab-addon-groups .group-graphic-support{order:30; grid-column:span 12}

/* Make addon groups align like fields */
.ls-arch2lab-addon-groups{align-items:start}


/* v0.4.2 layout refinements */
.ls-layout-lf .ls-field-q{
  min-height:auto !important;
  display:block !important;
}
.ls-layout-lf .ls-field-q > label::after{
  content:"Width";
  display:block;
  visibility:hidden;
  font-size:12px;
  font-weight:400;
  line-height:1.2;
  margin-top:4px;
  margin-bottom:4px;
}

.ls-layout-ncr .ls-arch2lab-addon-groups .group-sequential-numbering{order:10; grid-column:span 4}
.ls-layout-ncr .ls-arch2lab-addon-groups .group-perforation{order:11; grid-column:span 4}
.ls-layout-ncr .ls-arch2lab-addon-groups .group-proof{order:20; grid-column:span 6}
.ls-layout-ncr .ls-arch2lab-addon-groups .group-graphic-support{order:21; grid-column:span 6}
.ls-layout-ncr .ls-arch2lab-addon-groups .group-turnaround{order:30; grid-column:span 12}


/* v0.4.3 NCR starting number alignment */
.ls-layout-ncr .ls-arch2lab-addon-groups .group-starting-number{
  order:12;
  grid-column:span 4;
}
.ls-layout-ncr .group-starting-number input{
  width:100%;
}


/* v0.4.56 cart button polish */
.ls-field-cart-placeholder > label{color:#fff}
.ls-arch2lab-cart-form .ls-arch2lab-add-to-cart{background:#1400ff;border-color:#1400ff;color:#fff;min-height:42px;padding:10px 18px;border-radius:8px;font-weight:700}
.ls-arch2lab-cart-form .ls-arch2lab-add-to-cart:hover,.ls-arch2lab-cart-form .ls-arch2lab-add-to-cart:focus{background:#1400ff;border-color:#1400ff;color:#fff;opacity:.92}


/* v0.4.60 upload button and note */
.ls-artwork-note{font-size:12px;color:#555;margin-top:6px;line-height:1.4}
.ls-artwork-upload-btn{background:#1400ff !important;border-color:#1400ff !important;color:#fff !important;min-height:40px;padding:10px 18px;border-radius:8px;font-weight:700}
.ls-artwork-upload-btn:hover,.ls-artwork-upload-btn:focus{background:#1400ff !important;border-color:#1400ff !important;color:#fff !important;opacity:.92}

/* Match Add to Cart button color to Upload button */
.ls-arch2lab-configurator .single_add_to_cart_button{
  background:#2d6cdf;
  border-color:#2d6cdf;
  color:#fff;
  border-radius:6px;
}
.ls-arch2lab-configurator .single_add_to_cart_button:hover{
  background:#2458b8;
  border-color:#2458b8;
}
.arch2lab-upload-list{margin:6px 0 0 18px;padding:0;font-size:13px;}


/* v0.4.64 force add-to-cart to match upload button */
.ls-arch2lab-wrap .ls-arch2lab-cart-form .ls-arch2lab-add-to-cart,
.ls-arch2lab-wrap .single_add_to_cart_button.ls-arch2lab-add-to-cart,
.ls-arch2lab-wrap .single_add_to_cart_button,
.ls-arch2lab-wrap button.single_add_to_cart_button,
.ls-arch2lab-wrap input.single_add_to_cart_button{background:#1400ff !important;border-color:#1400ff !important;color:#fff !important;border-radius:8px !important;}
.ls-arch2lab-wrap .ls-arch2lab-cart-form .ls-arch2lab-add-to-cart:hover,
.ls-arch2lab-wrap .ls-arch2lab-cart-form .ls-arch2lab-add-to-cart:focus,
.ls-arch2lab-wrap .single_add_to_cart_button.ls-arch2lab-add-to-cart:hover,
.ls-arch2lab-wrap .single_add_to_cart_button.ls-arch2lab-add-to-cart:focus,
.ls-arch2lab-wrap .single_add_to_cart_button:hover,
.ls-arch2lab-wrap .single_add_to_cart_button:focus,
.ls-arch2lab-wrap button.single_add_to_cart_button:hover,
.ls-arch2lab-wrap button.single_add_to_cart_button:focus,
.ls-arch2lab-wrap input.single_add_to_cart_button:hover,
.ls-arch2lab-wrap input.single_add_to_cart_button:focus{background:#1400ff !important;border-color:#1400ff !important;color:#fff !important;opacity:.92;}

.ls-field-set-count{grid-column:span 4;max-width:220px}
.ls-set-breakdown{margin-top:6px;font-size:12px;line-height:1.35;color:#555}
.ls-set-max-note{margin-top:6px;font-size:12px;line-height:1.35;color:#555}
@media (max-width: 767px){.ls-field-set-count{grid-column:span 12;max-width:none}}

.ls-arch2lab-field.ls-qty-dropdown-mode .ls-q{display:none !important;height:0 !important;min-height:0 !important;padding:0 !important;border:0 !important;margin:0 !important;line-height:0 !important;}
.ls-arch2lab-field.ls-qty-dropdown-mode .ls-q-select{margin-top:0 !important;}


/* preview44.5o LF UI cleanup */
.ls-layout-lf .ls-field-q > label::after{content:none !important;display:none !important;}
.ls-field-q.ls-qty-dropdown-mode input.ls-q{display:none !important;height:0 !important;min-height:0 !important;border:0 !important;padding:0 !important;margin:0 !important;}
.ls-field-q.ls-qty-dropdown-mode select{font:inherit;width:100%;min-height:44px;box-sizing:border-box;}

.ls-send-files-later-wrap{display:block;margin-top:10px;font-size:13px;color:#444;font-weight:400}
.ls-send-files-later-wrap input{margin-right:6px}
.ls-upload-warning{margin-top:8px;color:#b42318;font-size:13px;line-height:1.4}

/* Final polish: align quantity field with nested width/height rows when custom size UI is visible */
.ls-arch2lab-field.ls-align-with-wh{padding-top:24px}
.ls-arch2lab-field.ls-align-with-wh label{margin-bottom:6px}
.ls-arch2lab-field.ls-field-q.ls-qty-dropdown-mode{padding-top:0}
.ls-arch2lab-field.ls-field-q.ls-qty-dropdown-mode.ls-align-with-wh{padding-top:24px}
/* Make number inputs visually match selects more closely */
.ls-arch2lab-field input[type="number"]{appearance:textfield;-moz-appearance:textfield}
.ls-arch2lab-field input[type="number"]::-webkit-outer-spin-button,
.ls-arch2lab-field input[type="number"]::-webkit-inner-spin-button{opacity:1}
/* Admin note spacing */
.wrap .form-table h2{margin-bottom:6px}
