/* Shared EPO controls. ID scope wins over the earlier commerce resets. */
body.single-product #tm-extra-product-options {font-family:Arial,Helvetica,sans-serif!important;min-width:0!important}
/* Explanations must sit above the transparent radio hit area. */
body.single-product #tm-extra-product-options .tm-tooltip[data-tm-tooltip-html] {position:relative!important;z-index:8!important;display:inline-grid!important;place-items:center!important;flex:0 0 32px!important;width:32px!important;height:32px!important;min-width:32px!important;margin:0 0 0 6px!important;padding:0!important;border:1px solid #c9d6c4!important;border-radius:50%!important;background:#f0f7ec!important;color:#172015!important;cursor:help!important;pointer-events:auto!important;touch-action:manipulation}
body.single-product #tm-extra-product-options .tm-tooltip[data-tm-tooltip-html]::before {content:"?"!important;font:700 16px/1 Arial,Helvetica,sans-serif!important}
body.single-product #tm-extra-product-options .tm-tooltip[data-tm-tooltip-html]::after {content:none!important;display:none!important}
body.single-product #tm-extra-product-options .tm-tooltip[data-tm-tooltip-html]:focus-visible {outline:2px solid #172015!important;outline-offset:3px!important}
body.single-product #tm-tooltip {box-sizing:border-box!important;width:max-content!important;right:auto!important;pointer-events:auto!important;max-width:min(340px,calc(100vw - 24px))!important;max-height:calc(100dvh - 80px)!important;overflow:auto!important;overflow-wrap:anywhere!important;padding:14px 16px!important;background:#172015!important;color:#fff!important;border:1px solid #172015!important;border-radius:12px!important;box-shadow:0 6px 24px #0003!important;font:400 14px/1.55 Arial,Helvetica,sans-serif!important;text-align:left!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:102100!important}
@media(max-width:740px){body.single-product #tm-extra-product-options .tm-tooltip[data-tm-tooltip-html] {flex-basis:40px!important;width:40px!important;height:40px!important;min-width:40px!important}}
@media(max-width:360px){
  body.single-product #tm-extra-product-options .cpf-type-radio ul.tc-text-container li.tmcp-field-wrap .tc-epo-text-label-wrapper:has(.tm-tooltip[data-tm-tooltip-html]) {padding:8px 6px!important;gap:4px!important}
  body.single-product #tm-extra-product-options .tm-tooltip[data-tm-tooltip-html] {margin-left:2px!important}
}
/* A single compact total, immediately before quantity and add to cart. */
body.single-product form.cart:has(#tm-extra-product-options) .tc-totals-form {margin:0!important;padding:14px 0 0!important;border-top:1px solid #dce2d9!important}
body.single-product form.cart:has(#tm-extra-product-options) .tc-epo-totals {margin:0!important;padding:0!important}
body.single-product form.cart:has(#tm-extra-product-options) dl.tm-extra-product-options-totals {display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px 16px!important;margin:0!important;padding:0!important}
body.single-product form.cart:has(#tm-extra-product-options) dl.tm-extra-product-options-totals> :is(dt,dd) {width:auto!important;max-width:100%!important;margin:0!important;padding:0!important;border:0!important;clear:none!important}
body.single-product form.cart:has(#tm-extra-product-options) dl.tm-extra-product-options-totals>dd {text-align:right!important}
body.single-product #tm-extra-product-options .cpf-element {margin-top:0!important;margin-bottom:24px!important;min-width:0!important}
body.single-product #tm-extra-product-options .tc-section-fields>.tc-row {row-gap:0!important}
body.single-product #tm-extra-product-options .tm-epo-element-label {
  margin-bottom:12px!important;font:700 15px/1.45 Arial,Helvetica,sans-serif!important;
  color:#171917!important;text-transform:none!important;overflow-wrap:anywhere!important;
}
body.single-product #tm-extra-product-options .zgh-option-title {font:inherit!important;color:inherit!important}
body.single-product #tm-extra-product-options .zgh-field-price {
  display:inline-block!important;margin:3px 0 0 4px!important;padding:3px 7px!important;
  border-radius:6px!important;background:#eaf2e6!important;color:#34472d!important;
  font:600 12px/1.35 Arial,Helvetica,sans-serif!important;white-space:nowrap!important;vertical-align:middle!important;
}
body.single-product #tm-extra-product-options .tm-element-description,
body.single-product #tm-extra-product-options .tm-element-description p {font:400 13px/1.6 Arial,Helvetica,sans-serif!important;color:#62675f!important;text-transform:none!important}
body.single-product #tm-extra-product-options .cpf-type-divider {margin:12px 0!important;background:#e4e8e1!important}

/* Every native option has an actual 44px-or-larger target and keyboard focus. */
body.single-product #tm-extra-product-options .cpf-type-radio li.tmcp-field-wrap {position:relative!important;min-width:0!important}
body.single-product #tm-extra-product-options .cpf-type-radio .tc-input-wrap {
  display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  opacity:0!important;z-index:4!important;margin:0!important;padding:0!important;
}
body.single-product #tm-extra-product-options .cpf-type-radio input.tmcp-radio {
  display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  opacity:0!important;visibility:visible!important;margin:0!important;cursor:pointer!important;
}
body.single-product #tm-extra-product-options .cpf-type-radio li:has(input:disabled) {opacity:.5}
body.single-product #tm-extra-product-options .cpf-type-radio li:has(input:focus-visible) label.tm-epo-field-label {
  outline:2px solid #172015!important;outline-offset:3px!important;
}
body.single-product #tm-extra-product-options .tc-label-text {
  font:700 13px/1.4 Arial,Helvetica,sans-serif!important;color:#171917!important;
  text-transform:none!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;
}
body.single-product #tm-extra-product-options .zgh-option-name {font:inherit!important;color:inherit!important;letter-spacing:0!important;text-transform:none!important}
body.single-product #tm-extra-product-options .zgh-option-price {display:block!important;margin-top:3px!important;font:500 11px/1.4 Arial,Helvetica,sans-serif!important;color:#596256!important;white-space:nowrap!important}

/* Sizes and short choices wrap naturally; priced pairs and long descriptions have room. */
body.single-product #tm-extra-product-options ul.tc-text-container {display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:stretch!important}
body.single-product #tm-extra-product-options ul.tc-text-container>li.tc-mode-text {flex:0 0 auto!important;max-width:100%!important}
body.single-product #tm-extra-product-options ul.tc-text-container>li.tc-mode-text label.tm-epo-field-label,
body.single-product #tm-extra-product-options ul.tc-text-container>li.tc-mode-text .tc-epo-text-label-wrapper {
  display:flex!important;position:relative!important;align-items:center!important;justify-content:center!important;
  width:100%!important;max-width:100%!important;min-width:48px!important;min-height:44px!important;height:100%!important;
  margin:0!important;float:none!important;border:0!important;background:transparent!important;box-shadow:none!important;
}
body.single-product #tm-extra-product-options ul.tc-text-container>li.tc-mode-text label.tm-epo-field-label {padding:0!important;overflow:visible!important}
body.single-product #tm-extra-product-options ul.tc-text-container>li.tc-mode-text .tc-epo-text-label-wrapper {
  padding:10px 13px!important;border:1px solid #c6cec2!important;border-radius:10px!important;background:#fff!important;box-sizing:border-box!important;
}
body.single-product #tm-extra-product-options ul.tc-text-container>li.tc-mode-text .tc-label-text {width:auto!important;max-width:100%!important;padding:0!important;text-align:center!important}
body.single-product #tm-extra-product-options ul.tc-text-container>li.tc-mode-text:has(input:checked) .tc-epo-text-label-wrapper {
  border:1px solid #172015!important;padding:10px 13px!important;background:#edf8e8!important;box-shadow:inset 0 0 0 1px #172015!important;
}
body.single-product #tm-extra-product-options ul.tc-text-container.zgh-epo-priced-options {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.single-product #tm-extra-product-options ul.tc-text-container.zgh-epo-priced-options>li {width:100%!important}
body.single-product #tm-extra-product-options ul.tc-text-container.zgh-epo-long-options {display:grid!important;grid-template-columns:minmax(0,1fr)!important}
body.single-product #tm-extra-product-options ul.tc-text-container.zgh-epo-long-options>li {width:100%!important}
body.single-product #tm-extra-product-options ul.tc-text-container.zgh-epo-long-options .tc-label-text {text-align:left!important}
body.single-product #tm-extra-product-options ul.tc-text-container.zgh-epo-long-options .tc-epo-text-label-wrapper {justify-content:flex-start!important;padding:13px 15px!important}

/* Image choices: small consistent photos; two or three choices do not leave empty columns. */
body.single-product #tm-extra-product-options ul.tc-images-container {
  --zgh-option-thumb:68px;--zgh-option-cols:4;
  display:grid!important;grid-template-columns:repeat(var(--zgh-option-cols),minmax(0,1fr))!important;gap:9px!important;align-items:stretch!important;
}
body.single-product #tm-extra-product-options ul.tc-images-container:not(:has(>li:nth-child(7))) {--zgh-option-cols:3;--zgh-option-thumb:86px}
body.single-product #tm-extra-product-options ul.tc-images-container:not(:has(>li:nth-child(3))) {--zgh-option-cols:2}
body.single-product #tm-extra-product-options ul.tc-images-container>li.tc-mode-images label.tm-epo-field-label {
  display:flex!important;flex-direction:column!important;justify-content:center!important;position:relative!important;
  min-height:142px!important;height:100%!important;padding:10px 6px!important;border:1px solid #dce2d9!important;
  border-radius:12px!important;background:#fff!important;box-shadow:none!important;transform:none!important;overflow:visible!important;
}
body.single-product #tm-extra-product-options ul.tc-images-container .tc-label-wrap {
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  grid-template-columns:none!important;grid-template-rows:none!important;width:100%!important;max-width:100%!important;
}
body.single-product #tm-extra-product-options ul.tc-images-container img.tc-image {
  display:block!important;flex:none!important;width:var(--zgh-option-thumb)!important;height:var(--zgh-option-thumb)!important;
  max-width:100%!important;min-width:0!important;min-height:0!important;aspect-ratio:1!important;object-fit:contain!important;border-radius:9px!important;margin:0 auto!important;
}
body.single-product #tm-extra-product-options ul.tc-images-container .tc-label-text {font-size:11.5px!important;line-height:1.3!important;padding:0!important;text-align:center!important}
body.single-product #tm-extra-product-options ul.tc-images-container .zgh-option-name {display:flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important}
body.single-product #tm-extra-product-options ul.tc-images-container li:has(input:checked) label.tm-epo-field-label {
  border:1px solid #172015!important;padding:10px 6px!important;background:#edf8e8!important;box-shadow:inset 0 0 0 1px #172015!important;
}
body.single-product #tm-extra-product-options ul.tc-images-container li:has(input:checked) label.tm-epo-field-label::after {
  content:""!important;display:block!important;position:absolute!important;top:8px!important;right:8px!important;left:auto!important;
  width:6px!important;height:10px!important;margin:0!important;padding:0!important;border:solid #172015!important;border-width:0 2px 2px 0!important;
  border-radius:0!important;background:transparent!important;transform:rotate(45deg)!important;
}
body.single-product #tm-extra-product-options ul.tc-images-container .tc-lightbox-image-wrap {width:var(--zgh-option-thumb)!important;max-width:100%!important;margin:auto!important}
body.single-product #tm-extra-product-options .tc-lightbox-wrap {min-width:32px!important;min-height:32px!important;right:-4px!important;bottom:-4px!important;cursor:pointer!important}
body.single-product #tm-extra-product-options .tc-lightbox-wrap:focus-visible {outline:2px solid #172015!important;outline-offset:3px!important}

/* Keep the native photo viewer within small screens; avoid blurred-layer compositing. */
body.single-product .floatbox.fl-overlay:has(>.tc-lightbox) {backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.single-product .floatbox.fl-overlay>.tc-lightbox {max-width:calc(100vw - 32px)!important;background:#fff!important;border-radius:12px!important}
body.single-product .floatbox.fl-overlay>.tc-lightbox img.tc-lightbox-img {display:block!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 96px)!important;object-fit:contain!important;border-radius:12px!important}
body.single-product .floatbox.fl-overlay>.tc-lightbox .tc-lightbox-button-close {width:44px!important;height:44px!important;top:8px!important;right:8px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#fff!important;color:#111!important;box-shadow:0 1px 8px #0003!important;cursor:pointer!important}

/* Named color swatches remain recognisable without relying on color alone. */
body.single-product #tm-extra-product-options ul.tc-colors-container {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
body.single-product #tm-extra-product-options ul.tc-colors-container li.tc-mode-color label.tm-epo-field-label {
  display:flex!important;align-items:center!important;position:relative!important;min-height:62px!important;height:100%!important;
  padding:9px!important;border:1px solid #dce2d9!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;
}
body.single-product #tm-extra-product-options ul.tc-colors-container .tc-label-wrap {display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;gap:8px!important;align-items:center!important}
body.single-product #tm-extra-product-options ul.tc-colors-container .tmhexcolorimage.radio-image {
  box-sizing:border-box!important;display:grid!important;place-items:center!important;grid-column:1!important;grid-row:1!important;
  flex:none!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;aspect-ratio:1!important;padding:2px!important;border-radius:50%!important;
}
body.single-product #tm-extra-product-options ul.tc-colors-container .tmhexcolorimage.radio-image>.tc-image {
  box-sizing:border-box!important;display:block!important;flex:none!important;width:100%!important;height:100%!important;
  min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;aspect-ratio:1!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;
}
body.single-product #tm-extra-product-options ul.tc-colors-container .radio-image-label {grid-column:2!important;grid-row:1!important;align-self:center!important}
body.single-product #tm-extra-product-options ul.tc-colors-container .tc-label-text {font-size:12px!important;line-height:1.35!important;text-align:left!important;overflow-wrap:anywhere!important}
body.single-product #tm-extra-product-options ul.tc-colors-container li:has(input:checked) label.tm-epo-field-label {
  border:1px solid #172015!important;padding:9px!important;background:#edf8e8!important;box-shadow:inset 0 0 0 1px #172015!important;
}

/* Text services: readable labels, full-width native inputs, no duplicate fixed price. */
body.single-product #tm-extra-product-options .cpf-type-textfield {padding:15px!important;margin-bottom:12px!important;background:#f7f8f6!important;border:1px solid #e0e5dc!important;border-radius:12px!important}
body.single-product #tm-extra-product-options .cpf-type-textfield .tm-epo-element-label {font-size:14px!important;line-height:1.5!important;margin-bottom:10px!important}
body.single-product #tm-extra-product-options input.tmcp-textfield {
  display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;
  height:48px!important;min-height:48px!important;padding:10px 12px!important;border:1px solid #bfc9b9!important;border-radius:8px!important;
  background:#fff!important;color:#171917!important;font:400 16px/1.5 Arial,Helvetica,sans-serif!important;
}
body.single-product #tm-extra-product-options input.tmcp-textfield:focus {outline:2px solid #172015!important;outline-offset:2px!important}
body.single-product #tm-extra-product-options .zgh-epo-price-in-heading .tc-price-wrap {display:none!important}
body.single-product #tm-extra-product-options .cpf-type-textfield .tc-price {font-size:12px!important}

@media(max-width:1100px){
  body.single-product #tm-extra-product-options ul.tc-images-container {--zgh-option-cols:3}
  body.single-product #tm-extra-product-options ul.tc-colors-container {grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  body.single-product #tm-extra-product-options .cpf-element {margin-bottom:20px!important}
  body.single-product #tm-extra-product-options ul.tc-images-container {--zgh-option-thumb:54px;gap:7px!important}
  body.single-product #tm-extra-product-options ul.tc-images-container:not(:has(>li:nth-child(7))) {--zgh-option-thumb:64px}
  body.single-product #tm-extra-product-options ul.tc-images-container li.tc-mode-images label.tm-epo-field-label,
  body.single-product #tm-extra-product-options ul.tc-images-container li:has(input:checked) label.tm-epo-field-label {min-height:128px!important;padding:9px 4px!important}
  body.single-product #tm-extra-product-options ul.tc-images-container .tc-label-text {font-size:11px!important}
  body.single-product #tm-extra-product-options .cpf-type-textfield {padding:13px!important;margin-bottom:12px!important}
}
@media(max-width:360px){
  body.single-product #tm-extra-product-options .cpf-type-radio ul.tc-colors-container li.tc-mode-color label.tm-epo-field-label {padding:5px!important}
  body.single-product #tm-extra-product-options ul.tc-colors-container .tc-label-wrap {gap:4px!important}
  body.single-product #tm-extra-product-options ul.tc-images-container {--zgh-option-cols:2}
  body.single-product #tm-extra-product-options ul.tc-images-container:not(:has(>li:nth-child(7))) {--zgh-option-cols:2}
}
/* Keep this last: presentation must never reveal a field EPO disabled conditionally. */
body.single-product #tm-extra-product-options .cpf-element:is(.tc-hidden,.tm-hidden,.tc-epo-element-hidden,[hidden]),
body.single-product #tm-extra-product-options .cpf-element[style*="display: none"],
body.single-product #tm-extra-product-options .cpf-element[style*="display:none"] {display:none!important}
