/* CommercePro 3.6 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.6 — 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}}

/* CommercePro 3.6 — administrator-selectable option presentation styles. */
body[class*="theme-"] .product-configurator .option-visual .choice-card:has(input:checked){border-color:var(--brand)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 18%,transparent)!important}
body[class*="theme-"] .product-configurator .option-visual .image-choice-grid .choice-card:has(input:checked) .choice-image{border-color:var(--brand)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 18%,transparent)!important}
body[class*="theme-"] .product-configurator .option-visual .choice-card:has(input:checked)::after{content:"✓";position:absolute;top:7px;right:7px;z-index:2;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;font-size:11px;font-weight:800;line-height:1}
body[class*="theme-"] .product-configurator .option-visual .choice-card input{position:absolute;opacity:0;pointer-events:none}
/* Soft card: calm paper cards, no black outline. */
body[class*="theme-"] .product-configurator .option-style-soft .choice-card{border:1px solid color-mix(in srgb,var(--line) 82%,transparent)!important;border-radius:12px!important;background:color-mix(in srgb,var(--paper) 94%,var(--cream))!important}
body[class*="theme-"] .product-configurator .option-style-soft .image-choice-grid .choice-card{border:0!important;background:transparent!important}
body[class*="theme-"] .product-configurator .option-style-soft .image-choice-grid .choice-image{border:1px solid color-mix(in srgb,var(--line) 76%,transparent)!important;border-radius:12px!important;background:color-mix(in srgb,var(--cream) 68%,var(--paper))!important}
/* Borderless: image + label only. */
body[class*="theme-"] .product-configurator .option-style-borderless .choice-card{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:8px 2px!important}
body[class*="theme-"] .product-configurator .option-style-borderless .choice-card:has(input:checked){box-shadow:none!important;color:var(--brand)!important}
body[class*="theme-"] .product-configurator .option-style-borderless .choice-card:has(input:checked) .choice-copy b{color:var(--brand)!important}
body[class*="theme-"] .product-configurator .option-style-borderless .image-choice-grid .choice-image{border:0!important;border-radius:8px!important;background:transparent!important;padding:3px!important;box-shadow:none!important}
body[class*="theme-"] .product-configurator .option-style-borderless .image-choice-grid .choice-card:has(input:checked) .choice-image{border:0!important;box-shadow:inset 0 0 0 2px var(--brand)!important;background:color-mix(in srgb,var(--brand) 5%,transparent)!important}
/* Gallery: generous photo tiles with centered labels. */
body[class*="theme-"] .product-configurator .option-style-gallery .choice-card{border:0!important;background:transparent!important;padding:0!important}
body[class*="theme-"] .product-configurator .option-style-gallery .image-choice-grid .choice-image{border:0!important;border-radius:5px!important;background:color-mix(in srgb,var(--cream) 75%,var(--paper))!important;padding:10px!important;box-shadow:0 1px 2px rgba(15,23,42,.05)!important}
body[class*="theme-"] .product-configurator .option-style-gallery .image-choice-grid .choice-copy{text-align:center!important;padding-top:3px!important}
body[class*="theme-"] .product-configurator .option-style-gallery .choice-card:has(input:checked){box-shadow:none!important}
body[class*="theme-"] .product-configurator .option-style-gallery .image-choice-grid .choice-card:has(input:checked) .choice-image{border:0!important;box-shadow:0 0 0 2px var(--brand),0 8px 24px rgba(15,23,42,.08)!important}
/* Editorial: square, text-led and underline based. */
body[class*="theme-"] .product-configurator .option-style-editorial .choice-card{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:10px 2px!important}
body[class*="theme-"] .product-configurator .option-style-editorial .choice-card:has(input:checked){border-bottom-color:var(--brand)!important;box-shadow:inset 0 -2px 0 var(--brand)!important}
body[class*="theme-"] .product-configurator .option-style-editorial .image-choice-grid .choice-card{border:0!important;box-shadow:none!important;padding:0 0 7px!important}
body[class*="theme-"] .product-configurator .option-style-editorial .image-choice-grid .choice-image{border:0!important;border-radius:0!important;background:color-mix(in srgb,var(--cream) 60%,var(--paper))!important}
body[class*="theme-"] .product-configurator .option-style-editorial .image-choice-grid .choice-card:has(input:checked) .choice-image{border:0!important;box-shadow:inset 0 -3px 0 var(--brand)!important}
/* Compact: dense choices for long option lists. */
body[class*="theme-"] .product-configurator .option-style-compact .choice-grid{gap:6px!important}
body[class*="theme-"] .product-configurator .option-style-compact .choice-card{min-height:38px!important;padding:7px 9px!important;border-color:color-mix(in srgb,var(--line) 72%,transparent)!important;border-radius:6px!important;background:transparent!important}
body[class*="theme-"] .product-configurator .option-style-compact .image-choice-grid .choice-card{padding:0!important;border:0!important}
body[class*="theme-"] .product-configurator .option-style-compact .image-choice-grid .choice-image{border:1px solid color-mix(in srgb,var(--line) 68%,transparent)!important;border-radius:6px!important;padding:4px!important;background:color-mix(in srgb,var(--cream) 55%,var(--paper))!important}
body[class*="theme-"] .product-configurator .option-style-compact .choice-card:has(input:checked)::after{width:17px;height:17px;top:5px;right:5px;font-size:9px}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-image img{object-fit:contain!important;object-position:center!important}

/* CommercePro 3.8 — image option metadata + per-option radius. */
body[class*="theme-"] .product-configurator .option-visual .image-choice-grid .choice-image{position:relative!important;border-radius:var(--option-image-radius,8px)!important;isolation:isolate!important}
body[class*="theme-"] .product-configurator .option-visual .image-choice-grid .choice-image>img{border-radius:max(0px,calc(var(--option-image-radius,8px) - 2px))!important}
body[class*="theme-"] .product-configurator .option-visual .choice-hover-meta{position:absolute!important;z-index:3!important;left:7px!important;right:7px!important;bottom:7px!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:7px!important;padding:8px 9px!important;border-radius:max(3px,calc(var(--option-image-radius,8px) - 2px))!important;background:linear-gradient(180deg,rgba(17,24,39,.06),rgba(17,24,39,.84))!important;color:#fff!important;opacity:0!important;transform:translateY(5px)!important;transition:opacity .18s ease,transform .18s ease!important;pointer-events:none!important;text-align:left!important}
body[class*="theme-"] .product-configurator .option-visual .choice-hover-meta b{min-width:0!important;color:#fff!important;font-size:12px!important;line-height:1.25!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body[class*="theme-"] .product-configurator .option-visual .choice-hover-meta small{flex:0 0 auto!important;color:#fff!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap!important}
body[class*="theme-"] .product-configurator .option-visual .choice-card:hover .choice-hover-meta,body[class*="theme-"] .product-configurator .option-visual .choice-card:focus-within .choice-hover-meta{opacity:1!important;transform:none!important}
body[class*="theme-"] .product-configurator .option-visual .choice-copy:empty{display:none!important}
body[class*="theme-"] .product-configurator .option-visual.option-show-image-title .choice-copy b,body[class*="theme-"] .product-configurator .option-visual.option-show-image-price .choice-copy small{display:block!important}
@media(hover:none){body[class*="theme-"] .product-configurator .option-visual .choice-card:has(input:checked) .choice-hover-meta{opacity:1!important;transform:none!important}}


/* CommercePro 3.9 — visual option artwork is always fully visible. */
body[class*="theme-"] .product-configurator .image-choice-grid .choice-image{overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important}
body[class*="theme-"] .product-configurator .image-choice-grid .choice-image>img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}
