/* Scoped to guided product presentation. The original renderer still owns every control. */
body[data-guided-product] .lab-frame.is-integrated .guided-product { width:min(100%,580px); margin:0 auto; color:#103b32; }
.guided-product .guided-progress { display:grid; gap:8px; margin:0 0 16px; }
.guided-product .guided-progress span { display:block; height:5px; border-radius:999px; background:#e3ebe6; }
.guided-product .guided-progress span.is-active { background:#168b46; }
.guided-product .guided-top { display:flex; align-items:center; justify-content:space-between; margin:0 0 24px; }
.guided-product .guided-count { color:#72857b; font-size:14px; }
.guided-product .guided-back,.guided-product .guided-text-button,.guided-product .guided-help { border:0; background:none; color:#24533d; font:inherit; cursor:pointer; min-height:44px; padding:8px 0; }
.guided-product .guided-back { font-size:16px; }
body[data-guided-product] .lab-frame.is-integrated .guided-title { display:block; color:#103b32; font-size:34px; font-weight:800; line-height:1.15; outline:none; }
body[data-guided-product] .lab-frame.is-integrated .lab-form-heading { margin:0 0 28px; }
.guided-product .guided-fields { border:0; margin:0; padding:0; min-width:0; }
.guided-product .guided-field { margin:0 0 24px; min-width:0; }
.guided-product .guided-label { font-size:16px; font-weight:700; margin:0 0 10px; }
.guided-product .guided-hint { font-size:14px; line-height:1.5; color:#60746a; }
body[data-guided-product] .lab-frame.is-integrated .guided-field input:not([type=radio]):not([type=checkbox]):not([type=file]),
body[data-guided-product] .lab-frame.is-integrated .guided-field textarea { width:100%; background:#fff; border:1px solid #c9d6ce; border-radius:8px; min-height:50px; color:#103b32; font-size:16px; }
body[data-guided-product] .lab-frame.is-integrated .guided-field .lab-options { display:flex; flex-wrap:wrap; gap:10px; }
body[data-guided-product] .lab-frame.is-integrated .guided-field .lab-options label { min-height:46px; padding:10px 14px; gap:8px; border:1px solid #c9d6ce; background:#fff; color:#24533d; }
body[data-guided-product] .lab-frame.is-integrated .guided-field .lab-options label:has([data-checked]) { border-color:#168b46; background:#edf7f1; }
body[data-guided-product] .lab-frame.is-integrated .guided-field .upload-button { display:inline-flex; justify-content:center; align-items:center; min-height:54px; max-width:100%; padding:12px 16px; border:1px dashed #93b2a0; border-radius:8px; background:#fafcfb; color:#195737; font-size:16px; white-space:normal; }
.guided-product .guided-field .lab-upload > .upload-button { width:100%; min-height:96px; }
.guided-product .guided-field .lab-thumbnails { margin-top:12px; }
.guided-product .guided-field .lab-thumbnails small { overflow-wrap:anywhere; }
.guided-product .guided-field .lab-actions { min-width:0; }
.guided-product .guided-field .lab-actions legend { color:#103b32; font-size:16px; font-weight:700; padding:0 0 10px; }
.guided-product .guided-field[data-field^="__contract_"] > [role=group] > fieldset { border:0; padding:0; margin:0; min-width:0; }
.guided-product .guided-field[data-field^="__contract_"] > [role=group] > fieldset > legend { font-weight:700; padding:0 0 16px; }
.guided-product .guided-field[data-field^="__contract_"] > [role=group] > fieldset > div { margin:0 0 20px; }
.guided-product .guided-delivery { border:0; margin:0 0 18px; padding:0; display:grid; gap:12px; }
.guided-product .guided-delivery-option { display:flex; align-items:center; gap:10px; padding:18px 14px; border:1px solid #cedbd3; border-radius:8px; cursor:pointer; min-height:70px; }
.guided-product .guided-delivery-option:has(input:checked) { border:2px solid #168b46; padding:17px 13px; background:#edf7f1; }
.guided-product .guided-delivery-option input { width:18px; height:18px; margin:0; accent-color:#168b46; flex-shrink:0; }
.guided-product .guided-delivery-option span { flex:1; font-size:16px; font-weight:650; }
.guided-product .guided-delivery-option strong { font-size:20px; font-weight:800; white-space:normal; max-width:52%; }
.guided-product .guided-selected-delivery .guided-delivery-option { cursor:default; border-color:#168b46; background:#edf7f1; }
.guided-product .guided-review { display:block; border-top:1px solid #e3ebe6; margin:26px 0 0; padding-top:18px; font-size:16px; }
.guided-product .guided-review h3 { margin:0 0 12px; font-size:16px; font-weight:700; }
.guided-product .guided-review-row { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:10px 0; }
.guided-product .guided-review-answer { min-width:0; flex:1; white-space:pre-wrap; overflow-wrap:anywhere; }
.guided-product .guided-review-answer > small { display:block; font-size:12px; color:#72857b; margin-bottom:3px; }
.guided-product .guided-review-answer > span { display:block; }
.guided-product .guided-review-files { display:grid; gap:8px; }
.guided-product .guided-review-files > span { display:flex; align-items:center; gap:8px; }
.guided-product .guided-review-files img { object-fit:contain; border-radius:4px; flex-shrink:0; }
.guided-product .guided-text-button { font-size:14px; text-decoration:underline; text-underline-offset:3px; flex-shrink:0; }
.guided-product .guided-primary { display:block; width:100%; min-height:56px; background:#008747; color:#fff; border:0; border-radius:8px; margin:18px 0 0; padding:14px 20px; font:inherit; font-size:18px; font-weight:750; cursor:pointer; }
.guided-product .guided-primary:hover { background:#006a38; }
.guided-product .guided-primary:disabled { opacity:.6; cursor:wait; }
.guided-product .guided-help { margin-top:16px; color:#60796b; font-size:14px; }
.guided-product .guided-error { color:#a92d28; font-size:15px; line-height:1.5; margin:12px 0; }
.guided-product button:focus-visible,.guided-product .upload-button:focus-visible,.guided-product .lab-mascot-shirt-add:focus-visible { outline:3px solid #2473d8; outline-offset:3px; }
@media (max-width:600px) {
  .guided-product .guided-top { margin-bottom:20px; }
  body[data-guided-product] .lab-frame.is-integrated .guided-title { font-size:30px; }
  .guided-product .guided-delivery-option strong { font-size:19px; }
  .guided-product .guided-delivery-option span { font-size:15px; }
  .guided-product .guided-progress { gap:5px; }
}
/* The gift uses the same product form and original submission. */
.guided-gift-note { margin:12px 0; padding:12px; border-radius:6px; background:#fff3c8; color:#573800; font-size:14px; line-height:1.5; }
