/* CommercePro 3.5 product configurator — final layer loaded after theme styles. */
body[class*="theme-"] .product-configurator{margin:34px 0 18px!important;border:0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;background:transparent!important;box-shadow:none!important}
body[class*="theme-"] .product-configurator-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(190px,310px)!important;gap:24px!important;align-items:end!important;padding:26px 0 22px!important;margin:0!important;background:transparent!important;border:0!important}
body[class*="theme-"] .product-configurator-head span{display:block!important;margin:0 0 5px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.17em!important;text-transform:uppercase!important;color:var(--muted)!important}
body[class*="theme-"] .product-configurator-head h2{margin:0!important;font:700 27px/1.08 var(--font-heading,var(--font-body))!important;letter-spacing:-.025em!important;color:var(--ink)!important}
body[class*="theme-"] .product-configurator-head p{margin:0!important;max-width:33ch!important;color:var(--muted)!important;font-size:13px!important;line-height:1.55!important}
body[class*="theme-"] .product-configurator .addon-section{margin:0!important;padding:24px 0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body[class*="theme-"] .product-configurator .addon-section:first-of-type{border-top:0!important}
body[class*="theme-"] .product-configurator .addon-section-heading{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;margin:0!important;padding:0 0 17px!important;border:0!important;background:transparent!important}
body[class*="theme-"] .product-configurator .addon-section-heading span{font-size:9px!important;font-weight:800!important;letter-spacing:.16em!important;color:var(--muted)!important}
body[class*="theme-"] .product-configurator .addon-section-heading h3{margin:3px 0 0!important;font:700 20px/1.15 var(--font-heading,var(--font-body))!important;letter-spacing:-.015em!important;color:var(--ink)!important}
body[class*="theme-"] .product-configurator .addon-section-description{margin:-7px 0 17px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--muted)!important;font-size:13px!important}
body[class*="theme-"] .product-configurator .addon-fields{padding:0!important;background:transparent!important}
body[class*="theme-"] .product-configurator .addon-fields>.extra-option{margin:0!important;padding:19px 0!important;border:0!important;border-top:1px solid color-mix(in srgb,var(--line) 78%,transparent)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body[class*="theme-"] .product-configurator .addon-fields>.extra-option:first-child{padding-top:0!important;border-top:0!important}
body[class*="theme-"] .product-configurator .extra-option legend{margin:0 0 6px!important;padding:0!important;font:700 14px/1.35 var(--font-body)!important;color:var(--ink)!important}
body[class*="theme-"] .product-configurator .option-description{margin:0 0 12px!important;color:var(--muted)!important;font-size:12px!important;line-height:1.5!important}
body[class*="theme-"] .product-configurator .choice-grid{display:grid!important;gap:9px!important}
body[class*="theme-"] .product-configurator .text-choice-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important}
body[class*="theme-"] .product-configurator .choice-card{position:relative!important;min-height:48px!important;margin:0!important;padding:11px 13px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:var(--paper)!important;color:var(--ink)!important;box-shadow:none!important;text-decoration:none!important;cursor:pointer!important;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease!important}
body[class*="theme-"] .product-configurator .choice-card:hover{transform:translateY(-1px)!important;border-color:color-mix(in srgb,var(--ink) 28%,var(--line))!important;background:color-mix(in srgb,var(--cream) 38%,var(--paper))!important}
body[class*="theme-"] .product-configurator .choice-card:has(input:checked){border-color:var(--ink)!important;background:var(--paper)!important;box-shadow:0 0 0 1px var(--ink)!important}
body[class*="theme-"] .product-configurator .choice-copy{display:grid!important;gap:2px!important}
body[class*="theme-"] .product-configurator .choice-copy b{font-size:13px!important;font-weight:700!important;line-height:1.25!important;color:var(--ink)!important}
body[class*="theme-"] .product-configurator .choice-copy small{font-size:11px!important;color:var(--muted)!important}
body[class*="theme-"] .product-configurator .image-choice-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))!important;gap:14px!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-card{display:grid!important;gap:7px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-card:hover{background:transparent!important;transform:none!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-image{display:grid!important;place-items:center!important;width:100%!important;height:94px!important;padding:7px!important;overflow:hidden!important;border:1px solid transparent!important;border-radius:11px!important;background:color-mix(in srgb,var(--cream) 72%,var(--paper))!important;box-shadow:none!important;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;margin:0!important;padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;transform:none!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-card:hover .choice-image{transform:translateY(-2px)!important;box-shadow:0 9px 24px rgba(16,24,20,.08)!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-card:has(input:checked) .choice-image{border-color:var(--ink)!important;box-shadow:0 0 0 1px var(--ink)!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-copy{padding:0 2px!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-copy b{font-size:12px!important;font-weight:650!important;line-height:1.3!important}
body[class*="theme-"] .product-configurator .is-customization{padding-top:27px!important}
body[class*="theme-"] .product-configurator .is-customization .text-choice-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
body[class*="theme-"] .product-configurator .is-customization .choice-card{min-height:62px!important;display:flex!important;align-items:center!important;padding:14px 15px!important;border-color:var(--line)!important;border-radius:10px!important;background:var(--paper)!important}
body[class*="theme-"] .product-configurator .is-customization .choice-card:has(input:checked){border-color:var(--ink)!important;box-shadow:inset 4px 0 0 var(--ink)!important}
body[class*="theme-"] .product-configurator .customer-upload{position:relative!important;display:block!important;margin:0!important;padding:0!important;min-height:0!important;border:0!important;border-radius:11px!important;background:transparent!important;overflow:hidden!important;cursor:pointer!important}
body[class*="theme-"] .product-configurator .customer-upload>input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;z-index:3!important}
body[class*="theme-"] .product-configurator .customer-upload-empty{display:flex!important;align-items:center!important;gap:13px!important;min-height:100px!important;padding:17px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:color-mix(in srgb,var(--cream) 66%,var(--paper))!important;color:var(--ink)!important}
body[class*="theme-"] .product-configurator .customer-upload-icon{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;flex:0 0 46px!important;border-radius:50%!important;background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
body[class*="theme-"] .product-configurator .customer-upload-icon svg{width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.6!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body[class*="theme-"] .product-configurator .customer-upload-empty b{display:block!important;margin-bottom:2px!important;font-size:13px!important;color:var(--ink)!important}
body[class*="theme-"] .product-configurator .customer-upload-empty small{display:block!important;font-size:11px!important;color:var(--muted)!important}
body[class*="theme-"] .product-configurator .customer-upload-preview{display:grid!important;grid-template-columns:94px minmax(0,1fr)!important;align-items:center!important;gap:15px!important;min-height:118px!important;padding:11px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:var(--paper)!important;box-shadow:0 8px 28px rgba(16,24,20,.05)!important}
body[class*="theme-"] .product-configurator .customer-upload-preview[hidden]{display:none!important}
body[class*="theme-"] .product-configurator .customer-upload-thumb{display:grid!important;place-items:center!important;width:94px!important;height:94px!important;overflow:hidden!important;border-radius:8px!important;background:var(--cream)!important}
body[class*="theme-"] .product-configurator .customer-upload-thumb img{width:100%!important;height:100%!important;object-fit:contain!important;background:var(--cream)!important}
body[class*="theme-"] .product-configurator .customer-upload-thumb svg{width:28px!important;height:28px!important;fill:none!important;stroke:var(--muted)!important;stroke-width:1.5!important}
body[class*="theme-"] .product-configurator .customer-upload-meta b{display:block!important;margin-bottom:4px!important;font-size:13px!important;color:var(--ink)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body[class*="theme-"] .product-configurator .customer-upload-meta small{font-size:11px!important;color:var(--muted)!important}
body[class*="theme-"] .product-configurator .extra-option>input[type=text],body[class*="theme-"] .product-configurator .extra-option>input[type=number],body[class*="theme-"] .product-configurator .extra-option>input[type=date],body[class*="theme-"] .product-configurator .extra-option>input[type=time],body[class*="theme-"] .product-configurator .extra-option>input[type=datetime-local],body[class*="theme-"] .product-configurator .extra-option>select,body[class*="theme-"] .product-configurator .extra-option>textarea{width:100%!important;min-height:46px!important;padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:var(--paper)!important;color:var(--ink)!important;box-shadow:none!important;outline:0!important}
body[class*="theme-"] .product-configurator .extra-option textarea{min-height:100px!important;resize:vertical!important}
body[class*="theme-"] .product-configurator .extra-option>input:focus,body[class*="theme-"] .product-configurator .extra-option>select:focus,body[class*="theme-"] .product-configurator .extra-option>textarea:focus{border-color:var(--ink)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 8%,transparent)!important}
body[class*="theme-"] .product-configurator .option-live-total{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0!important;padding:20px 0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink)!important}
body[class*="theme-"] .product-configurator .option-live-total span{font-size:12px!important;color:var(--muted)!important}
body[class*="theme-"] .product-configurator .option-live-total b{font:700 25px/1 var(--font-heading,var(--font-body))!important;color:var(--ink)!important}
body[class*="theme-"] .product-configurator .option-live-total small{font-size:11px!important;color:var(--muted)!important}
@media(max-width:650px){
  body[class*="theme-"] .product-configurator{margin-top:26px!important}
  body[class*="theme-"] .product-configurator-head{grid-template-columns:1fr!important;gap:9px!important;padding:21px 0 17px!important}
  body[class*="theme-"] .product-configurator-head h2{font-size:23px!important}
  body[class*="theme-"] .product-configurator .is-customization .text-choice-grid{grid-template-columns:1fr!important}
  body[class*="theme-"] .product-configurator .image-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
  body[class*="theme-"] .product-configurator .image-choice-grid .choice-image{height:82px!important;padding:6px!important}
  body[class*="theme-"] .product-configurator .customer-upload-preview{grid-template-columns:78px minmax(0,1fr)!important;min-height:98px!important}
  body[class*="theme-"] .product-configurator .customer-upload-thumb{width:78px!important;height:78px!important}
  body[class*="theme-"] .product-configurator .option-live-total{align-items:flex-end!important;flex-wrap:wrap!important}
}


/* CommercePro 3.5 — configurable responsive image swatches. */
body[class*="theme-"] .product-configurator .image-choice-grid{display:grid!important;grid-template-columns:repeat(var(--option-cols,4),minmax(0,1fr))!important;gap:var(--option-image-gap,12px)!important;align-items:start!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-card{min-width:0!important;width:100%!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-image{width:100%!important;height:var(--option-image-height,116px)!important;min-height:56px!important;max-height:260px!important;padding:8px!important;box-sizing:border-box!important;background:color-mix(in srgb,var(--cream) 70%,var(--paper))!important;overflow:hidden!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;margin:auto!important;transform:none!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-copy{min-width:0!important;text-align:left!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-copy b{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:normal!important}
@media(max-width:980px){body[class*="theme-"] .product-configurator .image-choice-grid{grid-template-columns:repeat(var(--option-cols-tablet,3),minmax(0,1fr))!important}}
@media(max-width:650px){body[class*="theme-"] .product-configurator .image-choice-grid{grid-template-columns:repeat(var(--option-cols-mobile,2),minmax(0,1fr))!important;gap:min(var(--option-image-gap,12px),10px)!important}body[class*="theme-"] .product-configurator .image-choice-grid .choice-image{height:min(var(--option-image-height,116px),104px)!important}}
