.woocommerce-product-gallery.gfx-woocolorizer-active {
  position: relative;
  overflow: visible;
  isolation: isolate;
}
.woocommerce-product-gallery.gfx-woocolorizer-active .gfx-woocolorizer-preview-stage {
  position: relative;
  z-index: 1;
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: var(--gfx-woocolorizer-stage-height);
  min-height: 0;
  overflow: hidden !important;
  background: #fff;
}
.woocommerce-product-gallery.gfx-woocolorizer-active .gfx-woocolorizer-preview-stage img {
  display: block;
  flex: 0 1 auto;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  max-height: 100%;
  margin: auto;
  object-fit: contain;
  background: #fff;
}
.woocommerce-product-gallery.gfx-woocolorizer-active.gfx-woocolorizer-preview-visible .gfx-woocolorizer-preview-stage {
  display: flex !important;
}
.woocommerce-product-gallery.gfx-woocolorizer-active .flex-control-thumbs,
.woocommerce-product-gallery.gfx-woocolorizer-active .flex-control-nav.flex-control-thumbs {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: auto !important;
  display: flex !important;
  flex-wrap: wrap;
  clear: both;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin-top: 12px !important;
  box-sizing: border-box;
  transform: none !important;
  isolation: isolate;
}
.woocommerce-product-gallery.gfx-woocolorizer-active .flex-control-thumbs li,
.woocommerce-product-gallery.gfx-woocolorizer-active .flex-control-nav.flex-control-thumbs li {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
}
.woocommerce-product-gallery.gfx-woocolorizer-active .flex-control-thumbs .gfx-woocolorizer-preview-thumb,
.woocommerce-product-gallery.gfx-woocolorizer-active .flex-control-nav.flex-control-thumbs .gfx-woocolorizer-preview-thumb {
  cursor: pointer;
}

/*# sourceMappingURL=front.css.map */

/* WooDecal Customizer rc.30: plugin-owned Normal / Revers variation control */
.gfx-woodecal-native-application{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}.gfx-woodecal-mirroring-row-hidden{display:none!important}.gfx-woodecal-mirroring-control{display:flex;flex-wrap:wrap;gap:10px;margin:0}.gfx-woodecal-mirroring-control.gfx-swatches-profile-button .gfx-woodecal-mirroring-button{min-width:172px;min-height:36px;padding:8px 14px;border:1px solid #c7c9cc;border-radius:0;background:#fff;color:#1d2327;font:inherit;cursor:pointer;box-shadow:none}.gfx-woodecal-mirroring-control.gfx-swatches-profile-button .gfx-woodecal-mirroring-button:hover,.gfx-woodecal-mirroring-control.gfx-swatches-profile-button .gfx-woodecal-mirroring-button:focus{border-color:#748187;outline:none}.gfx-woodecal-mirroring-control.gfx-swatches-profile-button .gfx-woodecal-mirroring-button.is-active{border-color:#1d2327;background:#1d2327;color:#fff}
.gfx-woodecal-mirroring-value>.gfx-woodecal-replaced-application-ui:not(.gfx-woodecal-mirroring-control){display:none!important}


/* rc.45 — Product Template controls the storefront attribute list. */
.gfx-woodecal-template-attribute-hidden {
    display: none !important;
}

/* rc.8 — Clear belongs to the whole variations form, not to one attribute row. */
.gfx-woodecal-reset-variations-row {
    display: block;
    width: 100%;
    margin: 8px 0 14px;
    text-align: center;
}
.gfx-woodecal-reset-variations-row .reset_variations {
    display: inline-block !important;
    float: none !important;
    margin: 0 !important;
}


/* rc.17 — restore storefront display-style layout and compact variation proportions. */
.gfx-global-swatch-control.gfx-swatches-style-horizontal{flex-direction:row;align-items:center;flex-wrap:wrap}.gfx-global-swatch-control.gfx-swatches-style-vertical{flex-direction:column;align-items:flex-start;flex-wrap:nowrap}.gfx-global-swatch-control.gfx-swatches-style-vertical .gfx-swatch-option,.gfx-global-swatch-control.gfx-swatches-style-vertical .gfx-swatch-radio{max-width:100%}.gfx-global-swatch-control.gfx-swatches-profile-button{gap:10px}.gfx-global-swatch-control.gfx-swatches-profile-button .gfx-swatch-option,.gfx-global-swatch-control.gfx-swatches-profile-button .gfx-swatch-radio{min-height:36px;padding:8px 14px}.gfx-woodecal-mirroring-control.gfx-swatches-style-vertical{align-items:flex-start}.gfx-woodecal-mirroring-control.gfx-swatches-style-vertical .gfx-woodecal-mirroring-button{min-width:172px}


/* rc.21 — storefront layout repair.
 * Display style controls the attribute section presentation, not whether the
 * individual variation values are stacked. Choices always remain in a
 * horizontal wrapping row, matching the original WooVisual/WooDecal layout. */
.gfx-global-swatch-control.gfx-swatches-style-vertical,
.gfx-global-swatch-control.gfx-swatches-style-horizontal {
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}
.gfx-global-swatch-control.gfx-swatches-style-vertical .gfx-swatch-option,
.gfx-global-swatch-control.gfx-swatches-style-vertical .gfx-swatch-radio {
    max-width: none;
}
.gfx-woodecal-mirroring-control.gfx-swatches-style-vertical,
.gfx-woodecal-mirroring-control.gfx-swatches-style-horizontal {
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}
.gfx-woodecal-mirroring-control.gfx-swatches-style-vertical .gfx-woodecal-mirroring-button,
.gfx-woodecal-mirroring-control.gfx-swatches-style-horizontal .gfx-woodecal-mirroring-button {
    min-width: 132px;
    width: auto;
}


/* rc.23 — keep attribute names above their variation controls on the product page. */
form.variations_form table.variations,
form.variations_form table.variations tbody {
    display: block;
    width: 100%;
}
form.variations_form table.variations tr {
    display: block;
    width: 100%;
    margin: 0 0 18px;
}
form.variations_form table.variations td,
form.variations_form table.variations th {
    box-sizing: border-box;
}
form.variations_form table.variations td.label,
form.variations_form table.variations th.label {
    display: block !important;
    width: 100% !important;
    padding: 0 0 8px !important;
    text-align: left !important;
    vertical-align: top !important;
}
form.variations_form table.variations td.label label,
form.variations_form table.variations th.label label {
    display: inline-block;
    margin: 0;
}
form.variations_form table.variations td.value,
form.variations_form table.variations th.value {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
    vertical-align: top !important;
}
form.variations_form table.variations td.value > select {
    max-width: 100%;
}
form.variations_form .single_variation_wrap {
    width: 100%;
}


/* rc.33 — compact storefront variation layout.
 * Themes may apply space-between/grid rules to variation value containers;
 * WooVisual controls always stay left-aligned and wrap naturally. */
form.variations_form .gfx-global-swatch-control,
form.variations_form .gfx-woodecal-mirroring-control {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: 100% !important;
    column-gap: 10px !important;
    row-gap: 10px !important;
}
form.variations_form table.variations tr {
    margin-bottom: 16px;
}
form.variations_form table.variations td.label,
form.variations_form table.variations th.label {
    padding-bottom: 6px !important;
}

/* rc.34 — keep variation groups compact while WooVisual replaces native selects. */
form.variations_form table.variations tr{margin-bottom:12px}form.variations_form table.variations td.label,form.variations_form table.variations th.label{padding-bottom:4px!important}form.variations_form .gfx-global-swatch-control,form.variations_form .gfx-woodecal-mirroring-control{margin-top:4px!important;margin-bottom:2px!important}


/* rc.37 — keep the original product gallery visible during early hydration. */
.single-product .woocommerce-product-gallery {
  opacity: 1 !important;
  visibility: visible !important;
}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
  visibility: visible !important;
}

/* rc.47 — live custom-size measurement overlay. */
.gfx-custom-size-measure-overlay{--gfx-custom-size-measure-accent:currentColor;position:absolute;inset:0;z-index:12;display:none;pointer-events:none;box-sizing:border-box}.gfx-custom-size-measure-overlay.is-active{display:block}.gfx-custom-size-measure{position:absolute;color:var(--gfx-custom-size-measure-accent)}.gfx-custom-size-measure__line{position:absolute;display:block;background:var(--gfx-custom-size-measure-accent)}.gfx-custom-size-measure__label{position:absolute;display:inline-block;padding:4px 8px;background:var(--gfx-custom-size-measure-accent);color:#fff;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.gfx-custom-size-measure--width{top:14px;left:14%;right:14%;height:28px}.gfx-custom-size-measure--width .gfx-custom-size-measure__line{top:13px;left:0;right:0;height:2px}.gfx-custom-size-measure--width .gfx-custom-size-measure__line:before,.gfx-custom-size-measure--width .gfx-custom-size-measure__line:after{content:"";position:absolute;top:-5px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent}.gfx-custom-size-measure--width .gfx-custom-size-measure__line:before{left:-1px;border-right:10px solid var(--gfx-custom-size-measure-accent)}.gfx-custom-size-measure--width .gfx-custom-size-measure__line:after{right:-1px;border-left:10px solid var(--gfx-custom-size-measure-accent)}.gfx-custom-size-measure--width .gfx-custom-size-measure__label{top:0;left:50%;transform:translateX(-50%)}.gfx-custom-size-measure--height{top:14%;bottom:14%;left:14px;width:28px}.gfx-custom-size-measure--height .gfx-custom-size-measure__line{top:0;bottom:0;left:13px;width:2px}.gfx-custom-size-measure--height .gfx-custom-size-measure__line:before,.gfx-custom-size-measure--height .gfx-custom-size-measure__line:after{content:"";position:absolute;left:-5px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent}.gfx-custom-size-measure--height .gfx-custom-size-measure__line:before{top:-1px;border-bottom:10px solid var(--gfx-custom-size-measure-accent)}.gfx-custom-size-measure--height .gfx-custom-size-measure__line:after{bottom:-1px;border-top:10px solid var(--gfx-custom-size-measure-accent)}.gfx-custom-size-measure--height .gfx-custom-size-measure__label{left:50%;top:50%;transform:translate(-50%,-50%) rotate(-90deg);transform-origin:center}@media(max-width:600px){.gfx-custom-size-measure--width{left:18%;right:10%;top:8px}.gfx-custom-size-measure--height{top:18%;bottom:10%;left:8px}.gfx-custom-size-measure__label{font-size:10px;padding:3px 6px}}


/* rc.48 — keep custom-size rulers inside the main preview only. */
.gfx-custom-size-measure-overlay {
  overflow: visible;
}
.gfx-custom-size-measure--width {
  top: -6px;
  left: 16%;
  right: 16%;
}
.gfx-custom-size-measure--height {
  top: 12%;
  bottom: 12%;
  left: 8px;
}
@media(max-width:600px){
  .gfx-custom-size-measure--width{left:18%;right:12%;top:-4px}
  .gfx-custom-size-measure--height{top:14%;bottom:14%;left:5px}
}


/* rc.49 — add a small gap above the horizontal custom-size ruler only. */
.gfx-custom-size-measure--width{top:-6px}
@media(max-width:600px){.gfx-custom-size-measure--width{top:-4px}}


/* rc.51 — reserve a safe measurement band so rulers never clip or cover the design. */
.woocommerce-product-gallery.gfx-woocolorizer-active .gfx-woocolorizer-preview-stage.gfx-custom-size-measure-space {
  box-sizing: border-box;
  padding: 34px 18px 12px 38px;
}
.woocommerce-product-gallery.gfx-woocolorizer-active .gfx-woocolorizer-preview-stage.gfx-custom-size-measure-space > img {
  max-width: 100%;
  max-height: 100%;
}
.gfx-custom-size-measure-space .gfx-custom-size-measure-overlay {
  overflow: visible;
}
.gfx-custom-size-measure-space .gfx-custom-size-measure--width {
  top: 7px;
  left: 14%;
  right: 10%;
}
.gfx-custom-size-measure-space .gfx-custom-size-measure--height {
  top: 15%;
  bottom: 10%;
  left: 8px;
}
@media(max-width:600px){
  .woocommerce-product-gallery.gfx-woocolorizer-active .gfx-woocolorizer-preview-stage.gfx-custom-size-measure-space {
    padding: 30px 10px 10px 30px;
  }
  .gfx-custom-size-measure-space .gfx-custom-size-measure--width {top:6px;left:16%;right:8%}
  .gfx-custom-size-measure-space .gfx-custom-size-measure--height {top:16%;bottom:10%;left:4px}
}


/* rc.57 — allow WooVisual selected controls to follow the active WooCommerce theme palette. */
form.variations_form .gfx-woodecal-mirroring-control .gfx-woodecal-mirroring-button.is-active{background:var(--gfx-theme-button-bg,#1f2529)!important;border-color:var(--gfx-theme-button-border,#1f2529)!important;color:var(--gfx-theme-button-color,#fff)!important}

/* 5.0.1-rc.2 — Live Text / Personalization layout hardening.
 * Rendered outside WooCommerce's quantity/add-to-cart flex row and kept
 * self-contained so narrow theme summary columns cannot collapse it. */
.gfx-live-text {
    box-sizing: border-box;
    display: block !important;
    float: none !important;
    clear: both;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin: 16px 0 18px !important;
    padding: 14px;
    border: 1px solid rgba(0,0,0,.14);
    border-radius: inherit;
}
.gfx-live-text * { box-sizing: border-box; min-width: 0; }
.gfx-live-text__title {
    margin: 0 0 12px;
    font: inherit;
    font-weight: 700;
}
.gfx-live-text__toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, .85fr);
    gap: 12px;
    align-items: end;
}
.gfx-live-text__lines {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}
.gfx-live-text__line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
    align-items: end;
    min-width: 0;
}
.gfx-live-text__text { grid-column: 1 / -1; }
.gfx-live-text__field { display: grid; gap: 5px; margin: 0; min-width: 0; }
.gfx-live-text__field > span { font-weight: 600; line-height: 1.25; }
.gfx-live-text input[type="text"],
.gfx-live-text select {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 42px;
    margin: 0 !important;
}
.gfx-live-text input[type="color"] {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 56px;
    height: 42px;
    margin: 0 !important;
    padding: 3px;
    cursor: pointer;
}
.gfx-live-text__alignment-buttons { display: flex; flex-wrap: wrap; gap: 6px; }
.gfx-live-text__alignment-buttons label { margin: 0; }
.gfx-live-text__alignment-buttons input { position: absolute; opacity: 0; pointer-events: none; }
.gfx-live-text__alignment-buttons label > span[aria-hidden="true"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 6px 10px;
    border: 1px solid currentColor;
    border-radius: inherit;
    cursor: pointer;
    opacity: .58;
}
.gfx-live-text__alignment-buttons input:checked + span[aria-hidden="true"] {
    opacity: 1;
    box-shadow: inset 0 0 0 2px currentColor;
}
@media (max-width: 780px) {
    .gfx-live-text__toolbar,
    .gfx-live-text__lines { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .gfx-live-text__line { grid-template-columns: 1fr; }
    .gfx-live-text__text { grid-column: auto; }
}

/* 5.0.1-rc.3 — Live Text palette swatches and numeric font range. */
.gfx-live-text__palette{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-height:42px}
.gfx-live-text__swatch{position:relative;display:inline-flex;margin:0!important;cursor:pointer}
.gfx-live-text__swatch input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.gfx-live-text__swatch>span[style]{display:block;width:30px;height:30px;border:2px solid #fff;border-radius:4px;background:var(--gfx-live-text-swatch,#000);box-shadow:0 0 0 1px rgba(0,0,0,.28);transition:box-shadow .12s ease,transform .12s ease}
.gfx-live-text__swatch input:checked+span[style]{box-shadow:0 0 0 2px currentColor,0 0 0 4px #fff;transform:scale(.94)}
.gfx-live-text__size input[type=range]{display:block;width:100%!important;max-width:100%!important;margin:4px 0 0!important}
.gfx-live-text__size output{font-weight:700}
.gfx-live-text__color{align-self:end}


/* 5.0.1-rc.4 — compact Live Text colour selector + popup palette. */
.gfx-live-text__color-trigger{
  display:flex!important;align-items:center!important;gap:9px!important;width:100%!important;min-height:42px!important;
  margin:0!important;padding:5px 9px!important;border:1px solid rgba(0,0,0,.28)!important;background:#fff!important;
  color:inherit!important;box-shadow:none!important;cursor:pointer!important;text-align:left!important
}
.gfx-live-text__color-trigger-chip{display:block;flex:0 0 32px;width:32px;height:28px;border:1px solid rgba(0,0,0,.22);background:var(--gfx-live-text-selected,#000)}
.gfx-live-text__color-trigger-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gfx-live-text__color-trigger-arrow{flex:0 0 auto;font-size:16px;line-height:1}
body.gfx-live-text-color-open{overflow:hidden}
.gfx-live-text__color-modal[hidden]{display:none!important}
.gfx-live-text__color-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.34)}
.gfx-live-text__color-dialog{width:min(520px,calc(100vw - 40px));max-height:min(72vh,620px);overflow:auto;background:#fff;color:#1d2327;border:1px solid rgba(0,0,0,.14);box-shadow:0 18px 50px rgba(0,0,0,.24)}
.gfx-live-text__color-dialog-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:10px 12px 10px 16px;background:#fff;border-bottom:1px solid rgba(0,0,0,.10)}
.gfx-live-text__color-close{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#333!important;box-shadow:none!important;font-size:22px!important;line-height:32px!important;cursor:pointer}
.gfx-live-text__color-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px}
.gfx-live-text__color-option{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:44px!important;margin:0!important;padding:7px 9px!important;border:1px solid rgba(0,0,0,.18)!important;background:#fff!important;color:#1d2327!important;box-shadow:none!important;text-align:left!important;cursor:pointer!important}
.gfx-live-text__color-option:hover,.gfx-live-text__color-option:focus{border-color:#1f2529!important}
.gfx-live-text__color-option.is-selected{border-color:#1f2529!important;box-shadow:0 0 0 1px #1f2529!important}
.gfx-live-text__color-option-chip{display:block;flex:0 0 34px;width:34px;height:28px;border:1px solid rgba(0,0,0,.18);background:var(--gfx-live-text-option,#000)}
@media(max-width:640px){.gfx-live-text__color-modal{align-items:flex-end;padding:12px}.gfx-live-text__color-dialog{width:100%;max-height:72vh}.gfx-live-text__color-options{grid-template-columns:1fr;padding:14px}}


/* WooVisual 5.0.1-rc.8 — Live Text alignment + balanced line controls */
.gfx-live-text__line{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:12px!important;
    row-gap:10px!important;
    align-items:start!important;
}
.gfx-live-text__text{
    grid-column:1 / -1!important;
}
.gfx-live-text__color,
.gfx-live-text__size{
    align-self:stretch!important;
    display:grid!important;
    grid-template-rows:minmax(32px,auto) 42px!important;
    gap:5px!important;
    min-width:0!important;
}
.gfx-live-text__color > span,
.gfx-live-text__size > span{
    display:flex!important;
    align-items:flex-end!important;
    min-height:32px!important;
    margin:0!important;
    line-height:1.15!important;
}
.gfx-live-text__color-trigger{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
}
.gfx-live-text__size input[type=range]{
    align-self:center!important;
    width:100%!important;
    height:42px!important;
    margin:0!important;
}
.gfx-live-text__alignment-buttons{
    display:grid!important;
    grid-template-columns:repeat(3,42px)!important;
    gap:6px!important;
    align-items:center!important;
}
.gfx-live-text__alignment-buttons label,
.gfx-live-text__alignment-buttons label > span[aria-hidden="true"]{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0!important;
}
.gfx-live-text__alignment-buttons label > span[aria-hidden="true"]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}
@media(max-width:480px){
    .gfx-live-text__line{grid-template-columns:1fr!important}
    .gfx-live-text__text{grid-column:1!important}
}


/* WooVisual 5.0.1-rc.14 — Custom Size proportions / normalized preview */
.gfx-custom-size-preview-note{
    display:none;
    margin:10px 0 0;
    font-size:12px;
    line-height:1.35;
    opacity:.78;
}
.gfx-custom-size-panel:not([hidden]) .gfx-custom-size-preview-note{display:block}
.gfx-custom-size-original-outline{
    display:none;
    position:absolute;
    z-index:4;
    box-sizing:border-box;
    border:1px dashed rgba(116,129,135,.85);
    background:transparent;
    pointer-events:none;
}
.gfx-custom-size-measure-overlay.is-active.is-unlocked .gfx-custom-size-original-outline{display:block}
.gfx-custom-size-original-outline>span{
    position:absolute;
    right:4px;
    bottom:4px;
    padding:2px 5px;
    background:rgba(255,255,255,.82);
    color:#748187;
    font-size:10px;
    line-height:1.2;
}


/* WooVisual 5.0.1-rc.15 — one storefront accent source.
 * The value is resolved from the same active WooCommerce/WooVisual button
 * palette and written by swatches.js to --gfx-woovisual-accent. */
form.variations_form{
    --gfx-woovisual-accent:var(--gfx-theme-button-bg,#3b990c);
}

/* Native controls that otherwise fall back to browser/system blue. */
form.variations_form .gfx-custom-size-panel input[type="range"],
form.variations_form .gfx-live-text input[type="range"],
form.variations_form .gfx-live-text input[type="radio"],
form.variations_form .gfx-live-text input[type="checkbox"],
form.variations_form .gfx-global-swatch-control input[type="radio"],
form.variations_form .gfx-global-swatch-control input[type="checkbox"]{
    accent-color:var(--gfx-woovisual-accent,#3b990c)!important;
}

/* Explicit range styling for Chromium/WebKit/Firefox so accent-color cannot
 * silently fall back to the OS blue implementation. */
form.variations_form .gfx-live-text input[type="range"]::-webkit-slider-thumb,
form.variations_form .gfx-custom-size-slider::-webkit-slider-thumb{
    background:var(--gfx-woovisual-accent,#3b990c)!important;
}
form.variations_form .gfx-live-text input[type="range"]::-moz-range-thumb,
form.variations_form .gfx-custom-size-slider::-moz-range-thumb{
    background:var(--gfx-woovisual-accent,#3b990c)!important;
    border-color:var(--gfx-woovisual-accent,#3b990c)!important;
}
form.variations_form .gfx-live-text input[type="range"]::-moz-range-progress,
form.variations_form .gfx-custom-size-slider::-moz-range-progress{
    background:var(--gfx-woovisual-accent,#3b990c)!important;
}

/* Active custom WooVisual controls use the same accent too. */
form.variations_form .gfx-live-text__alignment-buttons input:checked + span,
form.variations_form .gfx-live-text__color-option.is-selected{
    border-color:var(--gfx-woovisual-accent,#3b990c)!important;
    box-shadow:0 0 0 1px var(--gfx-woovisual-accent,#3b990c)!important;
}
form.variations_form .gfx-live-text__color-trigger:focus,
form.variations_form .gfx-live-text__color-option:focus{
    outline:2px solid var(--gfx-woovisual-accent,#3b990c)!important;
    outline-offset:1px;
}


/* WooVisual 5.0.1-rc.15 — anchored Live Text colour palette. */
.gfx-live-text__color-modal.is-anchored{
    display:block!important;
    padding:0!important;
}
.gfx-live-text__color-modal.is-anchored .gfx-live-text__color-dialog{
    position:fixed!important;
    left:var(--gfx-live-text-dialog-left,12px)!important;
    top:var(--gfx-live-text-dialog-top,72px)!important;
    width:var(--gfx-live-text-dialog-width,min(520px,calc(100vw - 24px)))!important;
    max-width:calc(100vw - 24px)!important;
    margin:0!important;
}

/* Keep the palette as two equal columns, aligned from its left edge. */
.gfx-live-text__color-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
}
.gfx-live-text__color-option{
    justify-content:flex-start!important;
    min-width:0!important;
}
@media(max-width:420px){
    .gfx-live-text__color-options{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:6px!important;
        padding:10px!important;
    }
    .gfx-live-text__color-option{
        gap:6px!important;
        padding:6px!important;
        font-size:12px!important;
    }
    .gfx-live-text__color-option-chip{
        flex-basis:26px!important;
        width:26px!important;
    }
}


/* WooVisual 5.0.1-rc.35 — Live Text orientation selector */
.gfx-live-text__orientation-buttons{display:flex;flex-wrap:wrap;gap:6px}
.gfx-live-text__orientation-option{position:relative;margin:0}
.gfx-live-text__orientation-option input{position:absolute;opacity:0;pointer-events:none}
.gfx-live-text__orientation-option span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 9px;border:1px solid #c7c7c7;border-radius:2px;background:#fff;cursor:pointer;line-height:1.2}
.gfx-live-text__orientation-option input:checked + span{border-color:var(--gfx-woovisual-accent,#3b990c);box-shadow:0 0 0 1px var(--gfx-woovisual-accent,#3b990c)}
.gfx-live-text__orientation-option input:focus-visible + span{outline:2px solid var(--gfx-woovisual-accent,#3b990c);outline-offset:2px}




/* WooVisual 5.0.1-rc.45 — storefront Live Text orientation layout + theme-native colours */
.gfx-live-text__orientation{
    grid-column:1 / -1!important;
    margin-top:4px!important;
}
.gfx-live-text__orientation > span{
    display:block!important;
    margin:0 0 7px!important;
    font-weight:600!important;
    line-height:1.25!important;
}
.gfx-live-text__orientation-buttons{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    --gfx-live-text-theme-bg:var(--gfx-theme-button-bg,var(--gfx-woovisual-accent,currentColor));
    --gfx-live-text-theme-color:var(--gfx-theme-button-color,#fff);
    --gfx-live-text-theme-border:var(--gfx-theme-button-border,var(--gfx-live-text-theme-bg));
    --gfx-live-text-theme-radius:var(--gfx-theme-button-radius,2px);
}
.gfx-live-text__orientation-option{
    position:relative!important;
    flex:1 1 0!important;
    min-width:0!important;
    margin:0!important;
}
.gfx-live-text__orientation-option input{
    position:absolute!important;
    opacity:0!important;
    pointer-events:none!important;
}
.gfx-live-text__orientation-option span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    height:100%!important;
    margin:0!important;
    padding:7px 8px!important;
    border:var(--gfx-theme-button-border-width,1px) var(--gfx-theme-button-border-style,solid) var(--gfx-live-text-theme-border)!important;
    border-radius:var(--gfx-live-text-theme-radius)!important;
    background:transparent!important;
    color:inherit!important;
    box-shadow:none!important;
    font-family:var(--gfx-theme-button-font-family,inherit)!important;
    font-size:inherit!important;
    font-weight:inherit!important;
    line-height:1.15!important;
    text-align:center!important;
    cursor:pointer!important;
}
.gfx-live-text__orientation-option input:checked + span{
    border-color:var(--gfx-live-text-theme-border)!important;
    background:var(--gfx-live-text-theme-bg)!important;
    color:var(--gfx-live-text-theme-color)!important;
    box-shadow:var(--gfx-theme-button-shadow,none)!important;
}
.gfx-live-text__orientation-option input:focus-visible + span{
    outline:2px solid var(--gfx-live-text-theme-bg)!important;
    outline-offset:2px!important;
}
@media(max-width:480px){
    .gfx-live-text__orientation{grid-column:1!important}
    .gfx-live-text__orientation-buttons{gap:5px!important}
    .gfx-live-text__orientation-option span{
        min-height:40px!important;
        padding:6px 5px!important;
        font-size:12px!important;
    }
}


/* WooVisual 5.0.1-rc.46 — Live Text per-line vertical control order */
.gfx-live-text__line{
    align-items:start!important;
}
/* Keep Colour palette in the left control column. */
.gfx-live-text__color{
    grid-column:1!important;
    grid-row:auto!important;
}
/* Font size always sits directly under the Colour palette. */
.gfx-live-text__size{
    grid-column:1!important;
    grid-row:auto!important;
    margin-top:2px!important;
}
/* Orientation follows Font size and spans the full line width. */
.gfx-live-text__orientation{
    grid-column:1 / -1!important;
    grid-row:auto!important;
    margin-top:8px!important;
}
.gfx-live-text__orientation-buttons{
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
}
.gfx-live-text__orientation-option{
    flex:1 1 0!important;
    min-width:112px!important;
    max-width:none!important;
}
.gfx-live-text__orientation-option span{
    width:100%!important;
    min-width:112px!important;
    min-height:48px!important;
    padding:8px 10px!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    line-height:1.12!important;
}
/* If the admin exposes only one or two choices, use the available width cleanly. */
.gfx-live-text__orientation-buttons:has(.gfx-live-text__orientation-option:only-child) .gfx-live-text__orientation-option{
    flex:0 1 160px!important;
}
@media(max-width:480px){
    .gfx-live-text__color,
    .gfx-live-text__size,
    .gfx-live-text__orientation{
        grid-column:1!important;
    }
    .gfx-live-text__orientation-buttons{
        gap:6px!important;
    }
    .gfx-live-text__orientation-option{
        min-width:0!important;
        flex:1 1 0!important;
    }
    .gfx-live-text__orientation-option span{
        min-width:0!important;
        min-height:44px!important;
        padding:7px 6px!important;
        font-size:12px!important;
    }
}

/* WooVisual virtual colour slots (Color 1 / Color 2 / Color 3). */
.gfx-woovisual-colour-slot-control{position:relative;max-width:100%;}.gfx-woovisual-colour-slot-trigger{display:inline-flex!important;align-items:center;gap:10px;min-width:140px;max-width:100%;min-height:var(--gfx-theme-button-height,40px);padding:0 12px!important;border:var(--gfx-theme-button-border-width,1px) var(--gfx-theme-button-border-style,solid) var(--gfx-theme-button-border,#1f2529)!important;border-radius:var(--gfx-theme-button-radius,2px)!important;background:transparent!important;color:inherit!important;font:inherit!important;box-shadow:none!important;cursor:pointer}.gfx-woovisual-colour-slot-chip{display:block;flex:0 0 56px;width:56px;height:28px;border:1px solid rgba(0,0,0,.2);border-radius:max(2px,var(--gfx-theme-button-radius,2px));background:var(--gfx-colour-slot-selected,transparent)}.gfx-woovisual-colour-slot-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gfx-woovisual-colour-slot-arrow{margin-left:auto;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;opacity:.7}.gfx-woovisual-colour-slot-overlay[hidden]{display:none!important}.gfx-woovisual-colour-slot-overlay{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.38);display:flex;align-items:center;justify-content:center;padding:18px}.gfx-woovisual-colour-slot-dialog{width:min(620px,calc(100vw - 36px));max-height:min(78vh,720px);overflow:auto;background:#fff;color:#222;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.28)}.gfx-woovisual-colour-slot-dialog__header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;background:#fff;border-bottom:1px solid rgba(0,0,0,.12)}.gfx-woovisual-colour-slot-close{appearance:none;border:0!important;background:transparent!important;color:inherit!important;font-size:28px!important;line-height:1!important;padding:0 4px!important;min-width:32px;cursor:pointer}.gfx-woovisual-colour-slot-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px}.gfx-woovisual-colour-slot-option{display:flex!important;align-items:center!important;gap:10px!important;min-height:48px!important;padding:7px 9px!important;border:1px solid rgba(0,0,0,.16)!important;border-radius:5px!important;background:#fff!important;color:#222!important;text-align:left!important;font:inherit!important;box-shadow:none!important;cursor:pointer}.gfx-woovisual-colour-slot-option[hidden]{display:none!important}.gfx-woovisual-colour-slot-option:hover,.gfx-woovisual-colour-slot-option:focus{border-color:var(--gfx-woovisual-accent,#3b990c)!important;outline:none!important;box-shadow:0 0 0 1px var(--gfx-woovisual-accent,#3b990c)!important}.gfx-woovisual-colour-slot-option__chip{display:block;flex:0 0 42px;width:42px;height:30px;border:1px solid rgba(0,0,0,.18);border-radius:3px}body.gfx-woovisual-colour-slot-open{overflow:hidden}@media(max-width:640px){.gfx-woovisual-colour-slot-options{grid-template-columns:repeat(2,minmax(0,1fr))}.gfx-woovisual-colour-slot-trigger{width:100%}.gfx-woovisual-colour-slot-chip{flex-basis:46px;width:46px}}@media(max-width:420px){.gfx-woovisual-colour-slot-options{grid-template-columns:1fr}}

/* rc.2.8 */
.gfx-live-text__color-option[hidden],.gfx-live-text__color-option.is-gfx-finish-unavailable{display:none!important}


/* WooVisual 5.0.2-rc.2.9 — unified graphic + Live Text colour popup. */
.gfx-live-text__color-modal[hidden]{display:none!important}
.gfx-live-text__color-modal{
    position:fixed!important;inset:0!important;z-index:999999!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:20px!important;background:rgba(0,0,0,.34)!important;box-sizing:border-box!important;
}
.gfx-live-text__color-dialog{
    position:static!important;width:min(520px,calc(100vw - 40px))!important;
    max-width:calc(100vw - 40px)!important;max-height:min(72vh,620px)!important;
    margin:0!important;overflow:auto!important;background:#fff!important;color:#1d2327!important;
    border:1px solid rgba(0,0,0,.14)!important;border-radius:0!important;
    box-shadow:0 18px 50px rgba(0,0,0,.24)!important;box-sizing:border-box!important;
}
.gfx-live-text__color-dialog-header{
    position:sticky!important;top:0!important;z-index:2!important;display:flex!important;
    align-items:center!important;justify-content:space-between!important;gap:16px!important;
    min-height:48px!important;padding:10px 12px 10px 16px!important;background:#fff!important;
    border-bottom:1px solid rgba(0,0,0,.10)!important;box-sizing:border-box!important;
}
.gfx-live-text__color-options{
    display:flex!important;flex-direction:row!important;align-items:center!important;
    justify-content:flex-start!important;flex-wrap:wrap!important;gap:10px!important;
    width:100%!important;max-width:100%!important;padding:16px!important;box-sizing:border-box!important;
}
.gfx-live-text__color-option{
    appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;
    align-items:center!important;justify-content:center!important;flex:0 0 auto!important;
    margin:0!important;background:#fff!important;background-image:none!important;color:#1d2327!important;
    box-shadow:none!important;text-shadow:none!important;cursor:pointer!important;box-sizing:border-box!important;
}
.gfx-live-text__color-option .screen-reader-text{
    position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
    overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.gfx-live-text__color-option-chip{display:block!important;margin:0!important;box-sizing:border-box!important;border:0!important;background:var(--gfx-live-text-option,#000)!important}
.gfx-live-text__color-dialog.gfx-color-style-circle_outline .gfx-live-text__color-option{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:5px!important;border:2px solid #b7cbd8!important;border-radius:50%!important}
.gfx-live-text__color-dialog.gfx-color-style-circle_outline .gfx-live-text__color-option-chip{width:24px!important;height:24px!important;border-radius:50%!important}
.gfx-live-text__color-dialog.gfx-color-style-circle_solid .gfx-live-text__color-option{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;border:0!important;border-radius:50%!important}
.gfx-live-text__color-dialog.gfx-color-style-circle_solid .gfx-live-text__color-option-chip{width:32px!important;height:32px!important;border-radius:50%!important}
.gfx-live-text__color-dialog.gfx-color-style-square_solid .gfx-live-text__color-option{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;border:0!important;border-radius:0!important}
.gfx-live-text__color-dialog.gfx-color-style-square_solid .gfx-live-text__color-option-chip{width:32px!important;height:32px!important;border-radius:0!important}
.gfx-live-text__color-dialog.gfx-color-style-square_outline .gfx-live-text__color-option{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:5px!important;border:2px solid #b7cbd8!important;border-radius:0!important}
.gfx-live-text__color-dialog.gfx-color-style-square_outline .gfx-live-text__color-option-chip{width:26px!important;height:26px!important;border-radius:0!important}
.gfx-live-text__color-dialog.gfx-color-style-rounded_solid .gfx-live-text__color-option{width:54px!important;height:36px!important;min-width:54px!important;min-height:36px!important;padding:0!important;border:0!important;border-radius:15px!important}
.gfx-live-text__color-dialog.gfx-color-style-rounded_solid .gfx-live-text__color-option-chip{width:52px!important;height:34px!important;border-radius:14px!important}
.gfx-live-text__color-dialog.gfx-color-style-rounded_outline .gfx-live-text__color-option{width:60px!important;height:40px!important;min-width:60px!important;min-height:40px!important;padding:5px!important;border:2px solid #b7cbd8!important;border-radius:18px!important}
.gfx-live-text__color-dialog.gfx-color-style-rounded_outline .gfx-live-text__color-option-chip{width:46px!important;height:26px!important;border-radius:11px!important}
.gfx-live-text__color-option.is-selected,.gfx-live-text__color-option.is-selected:hover,.gfx-live-text__color-option.is-selected:focus{
    border-color:#1f2529!important;box-shadow:0 0 0 1px #fff,0 0 0 3px #1f2529!important;outline:none!important;
}
@media(max-width:640px){
    .gfx-live-text__color-modal{align-items:flex-end!important;padding:12px!important}
    .gfx-live-text__color-dialog{width:100%!important;max-width:100%!important;max-height:70vh!important}
    .gfx-live-text__color-options{padding:14px!important}
}

/* Small, permanently visible close button shared by both colour popups. */
.gfx-popup-colors-close,.gfx-live-text__color-close{
    appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;
    align-items:center!important;justify-content:center!important;flex:0 0 26px!important;
    width:26px!important;min-width:26px!important;max-width:26px!important;
    height:26px!important;min-height:26px!important;max-height:26px!important;
    margin:0!important;padding:0!important;border:1px solid #b7cbd8!important;border-radius:2px!important;
    background:#fff!important;background-image:none!important;color:#333!important;box-shadow:none!important;
    font-family:Arial,sans-serif!important;font-size:18px!important;font-weight:400!important;line-height:1!important;
    text-align:center!important;text-shadow:none!important;cursor:pointer!important;box-sizing:border-box!important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease!important;
}
.gfx-popup-colors-close:hover,.gfx-popup-colors-close:focus,
.gfx-live-text__color-close:hover,.gfx-live-text__color-close:focus{
    background:#1f2529!important;border-color:#1f2529!important;color:#fff!important;outline:none!important;
}


/* WooVisual 5.0.2-rc.2.10 — Live Text uses the same global layout semantics
   as the graphic colour source. */
.gfx-live-text__color.gfx-colour-layout-classic .gfx-live-text__color-trigger{display:none!important}
.gfx-live-text__color-modal.gfx-colour-layout-classic,
.gfx-live-text__color-modal.gfx-colour-layout-modern{
    position:static!important;inset:auto!important;z-index:auto!important;background:transparent!important;
    display:block!important;padding:0!important;overflow:visible!important;
}
.gfx-live-text__color-modal.gfx-colour-layout-modern[hidden]{display:none!important}
.gfx-live-text__color-modal.gfx-colour-layout-classic .gfx-live-text__color-dialog,
.gfx-live-text__color-modal.gfx-colour-layout-modern .gfx-live-text__color-dialog{
    width:100%!important;max-width:100%!important;max-height:none!important;margin:0!important;
    overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    background:transparent!important;color:inherit!important;
}
.gfx-live-text__color-modal.gfx-colour-layout-classic .gfx-live-text__color-dialog-header,
.gfx-live-text__color-modal.gfx-colour-layout-modern .gfx-live-text__color-dialog-header{display:none!important}
.gfx-live-text__color-modal.gfx-colour-layout-classic .gfx-live-text__color-options,
.gfx-live-text__color-modal.gfx-colour-layout-modern .gfx-live-text__color-options{padding:0!important;margin:0!important}
.gfx-live-text__color-modal.gfx-colour-layout-popup{
    position:fixed!important;inset:0!important;z-index:999999!important;display:flex!important;
    align-items:center!important;justify-content:center!important;padding:20px!important;background:rgba(0,0,0,.34)!important;
}
.gfx-live-text__color-modal.gfx-colour-layout-popup[hidden]{display:none!important}
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-dialog{
    width:min(560px,calc(100vw - 40px))!important;max-width:calc(100vw - 40px)!important;
}
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-options{gap:12px!important;padding:18px!important}

/* Prevent theme button rules from stretching circular swatches. */
.gfx-live-text__color-option{line-height:1!important;white-space:normal!important}
.gfx-live-text__color-dialog.gfx-color-style-circle_outline .gfx-live-text__color-option,
.gfx-live-text__color-dialog.gfx-color-style-circle_solid .gfx-live-text__color-option{
    aspect-ratio:1/1!important;max-width:none!important;max-height:none!important;
}


/* WooVisual 5.0.2-rc.2.11 — unified swatch visuals + Classic Live Text flow. */
.gfx-live-text__color.gfx-colour-layout-classic{grid-column:1 / -1!important;grid-template-rows:minmax(32px,auto) auto!important;align-self:stretch!important}
.gfx-live-text__color.gfx-colour-layout-classic .gfx-live-text__color-modal,
.gfx-live-text__color.gfx-colour-layout-classic .gfx-live-text__color-dialog,
.gfx-live-text__color.gfx-colour-layout-classic .gfx-live-text__color-options{min-height:0!important;height:auto!important}
.gfx-live-text__color.gfx-colour-layout-classic + .gfx-live-text__size{grid-column:1!important}
.gfx-live-text__color-trigger-chip{background-color:var(--gfx-live-text-selected,#000)!important;background-image:var(--gfx-live-text-selected-image,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.gfx-live-text__color-option-chip{background-color:var(--gfx-live-text-option,#000)!important;background-image:var(--gfx-live-text-option-image,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.gfx-live-text__color-option{flex-grow:0!important;flex-shrink:0!important;box-sizing:border-box!important}
.gfx-live-text__color-dialog.gfx-color-style-circle_outline .gfx-live-text__color-option{flex-basis:38px!important;max-width:38px!important;max-height:38px!important;aspect-ratio:1/1!important}
.gfx-live-text__color-dialog.gfx-color-style-circle_solid .gfx-live-text__color-option{flex-basis:34px!important;max-width:34px!important;max-height:34px!important;aspect-ratio:1/1!important}
.gfx-live-text__color-dialog.gfx-color-style-square_solid .gfx-live-text__color-option{flex-basis:34px!important;max-width:34px!important;max-height:34px!important}
.gfx-live-text__color-dialog.gfx-color-style-square_outline .gfx-live-text__color-option{flex-basis:40px!important;max-width:40px!important;max-height:40px!important}
.gfx-live-text__color-dialog.gfx-color-style-rounded_solid .gfx-live-text__color-option{flex-basis:54px!important;max-width:54px!important;max-height:36px!important}
.gfx-live-text__color-dialog.gfx-color-style-rounded_outline .gfx-live-text__color-option{flex-basis:60px!important;max-width:60px!important;max-height:40px!important}


/* WooVisual 5.0.2-trial.10 — hard lock Personalize Text popup colour icons
   so theme button rules cannot stretch/deform circular swatches. */
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-option,
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-option::before,
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-option::after{
    box-sizing:border-box!important;
}
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-option::before,
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-option::after{
    content:none!important;
    display:none!important;
}
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-options{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
}
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-dialog.gfx-color-style-circle_outline .gfx-live-text__color-option:not([hidden]):not(.is-gfx-finish-unavailable){
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    inline-size:38px!important;block-size:38px!important;
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important;max-height:38px!important;
    flex:0 0 38px!important;padding:5px!important;border-radius:50%!important;aspect-ratio:1/1!important;overflow:hidden!important;font-size:0!important;line-height:0!important;
}
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-dialog.gfx-color-style-circle_outline .gfx-live-text__color-option-chip{
    inline-size:24px!important;block-size:24px!important;
    width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;max-width:24px!important;max-height:24px!important;
    border-radius:50%!important;flex:0 0 24px!important;aspect-ratio:1/1!important;
}
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-dialog.gfx-color-style-circle_solid .gfx-live-text__color-option:not([hidden]):not(.is-gfx-finish-unavailable){
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    inline-size:34px!important;block-size:34px!important;
    width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;
    flex:0 0 34px!important;padding:0!important;border-radius:50%!important;aspect-ratio:1/1!important;overflow:hidden!important;font-size:0!important;line-height:0!important;
}
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-dialog.gfx-color-style-circle_solid .gfx-live-text__color-option-chip{
    inline-size:32px!important;block-size:32px!important;
    width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;
    border-radius:50%!important;flex:0 0 32px!important;aspect-ratio:1/1!important;
}


/* WooVisual 5.0.2-trial.11 — keep Live Text finish/material availability authoritative.
   Trial.10 hardened popup swatch dimensions with display:inline-flex, which could
   visually re-show options that the runtime had correctly hidden. Hidden and
   finish-unavailable colours must always remain out of the palette. */
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-option[hidden],
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-option.is-gfx-finish-unavailable{
    display:none!important;
}


/* WooVisual 5.0.2-trial.12 — hidden availability wins over all swatch shape rules.
   Keep this after theme-hardening rules: visible options get fixed geometry, unavailable
   finish/material options stay removed from layout. */
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-dialog .gfx-live-text__color-option[hidden],
.gfx-live-text__color-modal.gfx-colour-layout-popup .gfx-live-text__color-dialog .gfx-live-text__color-option.is-gfx-finish-unavailable{
    display:none!important;
}


/* WooVisual 5.0.2-trial.13 — WooVisual-owned Add to basket success state. */
.single_add_to_cart_button.gfx-woovisual-added{pointer-events:auto!important;}

/* WooVisual 5.0.3-trial.1 — movable personalization + production-size feedback. */
.gfx-live-text__position-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gfx-live-text__move-button.is-active{outline:2px solid var(--gfx-woovisual-accent,#3b990c);outline-offset:2px}.gfx-live-text__production-summary{display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:10px 12px;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-size:12px;line-height:1.35}.gfx-live-text__production-summary[hidden]{display:none!important}.gfx-live-text__production-summary strong{font-size:13px}.gfx-live-text-move-overlay{position:absolute;z-index:30;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed var(--gfx-woovisual-accent,#3b990c);background:rgba(255,255,255,.12);cursor:grab;touch-action:none;user-select:none;overflow:visible;pointer-events:auto}.gfx-live-text-move-overlay.is-dragging{cursor:grabbing}.gfx-live-text-move-overlay__text{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1.05;white-space:pre-wrap;overflow:visible;pointer-events:none;transform-origin:center}.gfx-live-text-move-overlay__handle{position:absolute;right:-12px;top:-12px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--gfx-woovisual-accent,#3b990c);color:#fff;font-size:14px;line-height:1;box-shadow:0 1px 4px rgba(0,0,0,.25);pointer-events:none}.gfx-custom-size-measure__caption{position:absolute;z-index:3;top:8px;left:8px;padding:3px 6px;border-radius:3px;background:rgba(255,255,255,.9);color:var(--gfx-custom-size-measure-accent);font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap}.gfx-live-text-final-size-badge{position:absolute;z-index:3;right:8px;bottom:8px;padding:5px 8px;border-radius:4px;background:var(--gfx-custom-size-measure-accent);color:#fff;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}.gfx-live-text-final-size-badge[hidden]{display:none!important}@media(max-width:600px){.gfx-live-text-final-size-badge{right:4px;bottom:4px;font-size:10px}.gfx-custom-size-measure__caption{top:4px;left:4px}}

/* WooVisual 5.0.3-trial.2 — direct text activation (hover/tap). */
.gfx-live-text-hit-zone{position:absolute;z-index:29;display:block;margin:0!important;padding:0!important;border:1px solid transparent!important;border-radius:3px;background:transparent!important;box-shadow:none!important;appearance:none;cursor:move;touch-action:manipulation}
.gfx-live-text-hit-zone:focus-visible{outline:2px solid var(--gfx-woovisual-accent,#3b990c);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.gfx-live-text-hit-zone:hover{border-color:rgba(59,153,12,.3)!important}}



/* WooVisual 5.0.3-trial.4 — Live Text interaction/layout + purchase row. */
/* Colour and Font size share one row, including narrow/mobile product summaries. */
.gfx-live-text__line{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.gfx-live-text__text{grid-column:1 / -1!important}
.gfx-live-text__color{grid-column:1!important}
.gfx-live-text__size{grid-column:2!important;margin-top:0!important}
.gfx-live-text__orientation,.gfx-live-text__position{grid-column:1 / -1!important}
@media(max-width:480px){.gfx-live-text__line{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.gfx-live-text__text{grid-column:1 / -1!important}.gfx-live-text__color{grid-column:1!important}.gfx-live-text__size{grid-column:2!important}.gfx-live-text__orientation,.gfx-live-text__position{grid-column:1 / -1!important}}

/* Active horizontal text mirrors the rendered canvas line without wrapping at spaces. */
.gfx-live-text-move-overlay__text{white-space:nowrap;overflow-wrap:normal;word-break:normal}

/* Compact help button. Hover/focus shows the banner; click keeps it open via <details>. */
.gfx-live-text__position-actions{position:relative}
.gfx-live-text__position-help{position:relative;display:inline-flex;align-items:center;margin:0}
.gfx-live-text__position-help>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:26px;height:26px;margin:0;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font-weight:700;line-height:1;cursor:help;user-select:none}
.gfx-live-text__position-help>summary::-webkit-details-marker{display:none}
.gfx-live-text__position-help-tip{display:none;position:absolute;z-index:60;left:0;bottom:calc(100% + 8px);width:min(290px,75vw);padding:9px 11px;border-radius:5px;background:#1f2529;color:#fff;font-size:12px;font-weight:500;line-height:1.35;box-shadow:0 5px 18px rgba(0,0,0,.22)}
.gfx-live-text__position-help-tip:after{content:'';position:absolute;left:9px;top:100%;border:6px solid transparent;border-top-color:#1f2529}
.gfx-live-text__position-help[open] .gfx-live-text__position-help-tip,.gfx-live-text__position-help:hover .gfx-live-text__position-help-tip,.gfx-live-text__position-help:focus-within .gfx-live-text__position-help-tip{display:block}
.gfx-live-text__position-status:empty{display:none}

/* Price + quantity = two equal columns; Add to basket always occupies the next full row. */
form.cart.gfx-woovisual-simple-form> .gfx-woovisual-simple-options,form.cart:has(> .gfx-woovisual-simple-options)> .gfx-woovisual-simple-options{order:0!important}
form.cart.gfx-woovisual-simple-form> .gfx-woovisual-simple-price-bottom,form.cart:has(> .gfx-woovisual-simple-options)> .gfx-woovisual-simple-price-bottom{order:100!important;display:flex;align-items:center;justify-content:center;flex:0 0 calc(50% - 5px)!important;width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important;min-height:50px;margin:0!important;text-align:center!important;clear:none!important}
form.cart.gfx-woovisual-simple-form> .gfx-woovisual-simple-price-bottom[hidden],form.cart:has(> .gfx-woovisual-simple-options)> .gfx-woovisual-simple-price-bottom[hidden]{display:none!important}
form.cart.gfx-woovisual-simple-form> .quantity,form.cart:has(> .gfx-woovisual-simple-options)> .quantity{order:100!important;display:flex!important;align-items:stretch!important;justify-content:center!important;flex:0 0 calc(50% - 5px)!important;width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important;margin:0!important}
form.cart.gfx-woovisual-simple-form> .quantity>* ,form.cart:has(> .gfx-woovisual-simple-options)> .quantity>*{max-width:100%}
form.cart.gfx-woovisual-simple-form> .single_add_to_cart_button,form.cart:has(> .gfx-woovisual-simple-options)> .single_add_to_cart_button{order:110!important;flex:0 0 100%!important;width:100%!important;max-width:100%!important;margin:0!important}
form.cart.gfx-woovisual-simple-form:not(:has(> .gfx-woovisual-simple-price-bottom))> .quantity,form.cart:has(> .gfx-woovisual-simple-options):not(:has(> .gfx-woovisual-simple-price-bottom))> .quantity{flex-basis:100%!important;width:100%!important;max-width:100%!important}

/* WooVisual 5.0.3-trial.5 — theme-independent purchase row + inline position help. */
.gfx-live-text__position-actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;flex-wrap:nowrap!important}.gfx-live-text__position-actions>.gfx-live-text__reset-position{flex:0 1 auto!important;margin:0!important}.gfx-live-text__position-actions>.gfx-live-text__position-help{flex:0 0 26px!important;margin:0!important;align-self:center!important}form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row,form.cart:has(> .gfx-woovisual-simple-options)>.gfx-woovisual-purchase-row{order:100!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;align-items:stretch!important;box-sizing:border-box!important;float:none!important;clear:both!important;width:100%!important;max-width:100%!important;margin:0 0 10px!important;padding:0!important}.gfx-woovisual-purchase-row>.gfx-woovisual-simple-price-bottom{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;float:none!important;clear:none!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:50px!important;margin:0!important;padding:0 8px!important;text-align:center!important}.gfx-woovisual-purchase-row>.gfx-woovisual-simple-price-bottom[hidden]{display:none!important}.gfx-woovisual-purchase-row>.quantity{display:flex!important;align-items:stretch!important;justify-content:stretch!important;box-sizing:border-box!important;float:none!important;clear:none!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:50px!important;margin:0!important;padding:0!important}.gfx-woovisual-purchase-row>.quantity>*{box-sizing:border-box!important;max-width:100%}.gfx-woovisual-purchase-row>.quantity input.qty{min-width:0!important;max-width:none!important;flex:1 1 auto!important}.gfx-woovisual-purchase-row:has(>.gfx-woovisual-simple-price-bottom[hidden]){grid-template-columns:1fr!important}form.cart.gfx-woovisual-simple-form>.single_add_to_cart_button,form.cart:has(> .gfx-woovisual-simple-options)>.single_add_to_cart_button{order:110!important;display:block!important;float:none!important;clear:both!important;width:100%!important;max-width:100%!important;margin:0!important}@media(max-width:600px){form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row,form.cart:has(> .gfx-woovisual-simple-options)>.gfx-woovisual-purchase-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important}}

/* WooVisual 5.0.3-trial.6 — Add to basket + wishlist action row. */
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row,form.cart:has(> .gfx-woovisual-simple-options)>.gfx-woovisual-action-row{order:110!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;align-items:stretch!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;float:none!important;clear:both!important}form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row.has-wishlist,form.cart:has(> .gfx-woovisual-simple-options)>.gfx-woovisual-action-row.has-wishlist{grid-template-columns:minmax(0,1fr) 52px!important}.gfx-woovisual-action-row>.single_add_to_cart_button{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:50px!important;margin:0!important;float:none!important;clear:none!important}.gfx-woovisual-action-row>.mfn-wish-button,.gfx-woovisual-action-row>.yith-wcwl-add-to-wishlist,.gfx-woovisual-action-row>.tinv-wraper,.gfx-woovisual-action-row>.woosw-btn,.gfx-woovisual-action-row>.wcboost-wishlist-button,.gfx-woovisual-action-row>.wpc-wishlist-button,.gfx-woovisual-action-row>[data-wishlist]{position:static!important;inset:auto!important;box-sizing:border-box!important;width:52px!important;min-width:52px!important;max-width:52px!important;min-height:50px!important;height:auto!important;margin:0!important;align-self:stretch!important;justify-self:stretch!important;float:none!important;clear:none!important}.gfx-woovisual-action-row>.mfn-wish-button{display:flex!important;align-items:center!important;justify-content:center!important}@media(max-width:600px){form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row.has-wishlist,form.cart:has(> .gfx-woovisual-simple-options)>.gfx-woovisual-action-row.has-wishlist{grid-template-columns:minmax(0,1fr) 50px!important;gap:8px!important}.gfx-woovisual-action-row>.mfn-wish-button,.gfx-woovisual-action-row>.yith-wcwl-add-to-wishlist,.gfx-woovisual-action-row>.tinv-wraper,.gfx-woovisual-action-row>.woosw-btn,.gfx-woovisual-action-row>.wcboost-wishlist-button,.gfx-woovisual-action-row>.wpc-wishlist-button,.gfx-woovisual-action-row>[data-wishlist]{width:50px!important;min-width:50px!important;max-width:50px!important}}


/* WooVisual 5.0.3-trial.7 — wishlist moved from theme gallery into purchase action row. */
.gfx-woovisual-action-row>.mfn-wish-button{position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;opacity:1!important;visibility:visible!important;transform:none!important}
.gfx-woovisual-action-row>.mfn-wish-button svg{display:block!important;width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;margin:auto!important}
.gfx-woovisual-action-row>.mfn-wish-button.tooltip:before,.gfx-woovisual-action-row>.mfn-wish-button.tooltip:after{pointer-events:none}


/* WooVisual 5.0.3-trial.8 — universal purchase geometry.
 * WooVisual owns the final Price | Quantity / Add to basket | Wishlist block,
 * not the active theme. The purchase row is always exactly as wide as the
 * Add-to-basket column; the optional wishlist column is reserved only when a
 * real wishlist control exists. */
form.cart.gfx-woovisual-simple-form{
    --gfx-woovisual-wishlist-width:52px;
    --gfx-woovisual-purchase-gap:8px;
    --gfx-woovisual-wishlist-reserve:0px;
}
form.cart.gfx-woovisual-simple-form.gfx-woovisual-has-wishlist{
    --gfx-woovisual-wishlist-reserve:calc(var(--gfx-woovisual-wishlist-width) + var(--gfx-woovisual-purchase-gap));
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    box-sizing:border-box!important;
    float:none!important;
    clear:both!important;
    flex:none!important;
    width:calc(100% - var(--gfx-woovisual-wishlist-reserve))!important;
    max-width:calc(100% - var(--gfx-woovisual-wishlist-reserve))!important;
    min-width:0!important;
    margin:0 0 10px 0!important;
    padding:0!important;
    transform:none!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row>.gfx-woovisual-simple-price-bottom,
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row>.quantity{
    position:relative!important;
    inset:auto!important;
    box-sizing:border-box!important;
    float:none!important;
    clear:none!important;
    flex:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    transform:none!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row>.quantity{
    display:flex!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    overflow:visible!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row>.quantity>*{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row>.quantity input.qty{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:var(--gfx-woovisual-purchase-gap)!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    box-sizing:border-box!important;
    float:none!important;
    clear:both!important;
    flex:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row.has-wishlist{
    grid-template-columns:minmax(0,1fr) var(--gfx-woovisual-wishlist-width)!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row>.single_add_to_cart_button{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    float:none!important;
    clear:none!important;
    flex:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    margin:0!important;
    transform:none!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row>.mfn-wish-button,
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row>.yith-wcwl-add-to-wishlist,
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row>.tinv-wraper,
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row>.woosw-btn,
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row>.wcboost-wishlist-button,
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row>.wpc-wishlist-button,
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-action-row>[data-wishlist]{
    position:relative!important;
    inset:auto!important;
    box-sizing:border-box!important;
    float:none!important;
    clear:none!important;
    flex:none!important;
    width:var(--gfx-woovisual-wishlist-width)!important;
    min-width:var(--gfx-woovisual-wishlist-width)!important;
    max-width:var(--gfx-woovisual-wishlist-width)!important;
    min-height:50px!important;
    margin:0!important;
    transform:none!important;
}
@media(max-width:600px){
    form.cart.gfx-woovisual-simple-form{
        --gfx-woovisual-wishlist-width:50px;
        --gfx-woovisual-purchase-gap:8px;
    }
    form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row{
        gap:8px!important;
    }
}

/* WooVisual 5.0.3-trial.9 — approved purchase proportions.
 * Row 1: Price 55% | Quantity 45%.
 * Row 2: Add to basket | optional Wishlist.
 * The purchase row width is already tied to the Add-to-basket grid column,
 * therefore the right edge of Quantity is exactly parallel with the right
 * edge of Add to basket whether Wishlist exists or not. */
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row{
    grid-template-columns:minmax(0,55fr) minmax(0,45fr)!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row:has(>.gfx-woovisual-simple-price-bottom[hidden]){
    grid-template-columns:minmax(0,1fr)!important;
}
@media(max-width:600px){
    form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row{
        grid-template-columns:minmax(0,55fr) minmax(0,45fr)!important;
    }
    form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row:has(>.gfx-woovisual-simple-price-bottom[hidden]){
        grid-template-columns:minmax(0,1fr)!important;
    }
}



/* WooVisual 5.0.3-trial.10 — compact Personalize text storefront layout.
 * Theme-independent geometry only; active theme colours/typography remain intact. */
.gfx-live-text{
    box-sizing:border-box!important;
}
.gfx-live-text>.gfx-live-text__title{
    width:100%!important;
    margin:0 0 14px!important;
    text-align:center!important;
    font-weight:700!important;
}
.gfx-live-text>.gfx-live-text__toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(112px,.48fr)!important;
    column-gap:14px!important;
    row-gap:12px!important;
    align-items:end!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
}
.gfx-live-text>.gfx-live-text__toolbar.no-colour{
    grid-template-columns:minmax(0,1fr)!important;
}
.gfx-live-text>.gfx-live-text__toolbar>.gfx-live-text__font{
    grid-column:1!important;
    min-width:0!important;
}
.gfx-live-text>.gfx-live-text__toolbar>.gfx-live-text__color{
    grid-column:2!important;
    min-width:0!important;
    align-self:end!important;
}
.gfx-live-text>.gfx-live-text__toolbar.no-colour>.gfx-live-text__alignment{
    grid-column:1!important;
}
.gfx-live-text>.gfx-live-text__toolbar>.gfx-live-text__alignment{
    grid-column:1 / -1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    margin:0!important;
}
.gfx-live-text>.gfx-live-text__toolbar>.gfx-live-text__alignment>span{
    width:100%!important;
    text-align:center!important;
}
.gfx-live-text__alignment-groups{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:32px!important;
    width:100%!important;
}
.gfx-live-text__alignment-buttons{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    margin:0!important;
}
.gfx-live-text__alignment-buttons label{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    margin:0!important;
}
.gfx-live-text__alignment-buttons label>span[aria-hidden="true"]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    line-height:1!important;
}
.gfx-live-text>.gfx-live-text__lines{
    display:block!important;
    width:100%!important;
    margin:0!important;
}
.gfx-live-text>.gfx-live-text__lines>.gfx-live-text__line{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
}
.gfx-live-text>.gfx-live-text__lines>.gfx-live-text__line + .gfx-live-text__line{
    margin-top:18px!important;
    padding-top:18px!important;
    border-top:1px solid rgba(0,0,0,.10)!important;
}
.gfx-live-text__line>.gfx-live-text__text,
.gfx-live-text__line>.gfx-live-text__color,
.gfx-live-text__line>.gfx-live-text__size,
.gfx-live-text__line>.gfx-live-text__orientation,
.gfx-live-text__line>.gfx-live-text__position{
    grid-column:1!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
}
.gfx-live-text__field>span{
    text-align:left;
}
.gfx-live-text__font>span,
.gfx-live-text__color>span{
    text-align:center!important;
}
.gfx-live-text__font select,
.gfx-live-text__text input[type="text"],
.gfx-live-text__color-trigger{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
}
.gfx-live-text__size input[type="range"]{
    display:block!important;
    width:min(180px,100%)!important;
    max-width:180px!important;
    margin:5px 0 0!important;
}
.gfx-live-text__orientation{
    align-items:stretch!important;
}
.gfx-live-text__orientation>span,
.gfx-live-text__position>span{
    text-align:center!important;
}
.gfx-live-text__orientation-buttons{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
}
.gfx-live-text__orientation-option{
    flex:1 1 0!important;
    min-width:0!important;
    max-width:none!important;
}
.gfx-live-text__orientation-option>span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    padding:7px 8px!important;
    text-align:center!important;
    line-height:1.15!important;
}
.gfx-live-text__position-actions{
    justify-content:flex-start!important;
}
@media(max-width:520px){
    .gfx-live-text>.gfx-live-text__toolbar{
        grid-template-columns:minmax(0,1.45fr) minmax(96px,.75fr)!important;
        column-gap:10px!important;
    }
    .gfx-live-text__alignment-groups{
        gap:20px!important;
    }
    .gfx-live-text__alignment-buttons{
        gap:5px!important;
    }
    .gfx-live-text__alignment-buttons label,
    .gfx-live-text__alignment-buttons label>span[aria-hidden="true"]{
        width:32px!important;
        min-width:32px!important;
        height:32px!important;
        min-height:32px!important;
        flex-basis:32px!important;
    }
}
@media(max-width:360px){
    .gfx-live-text>.gfx-live-text__toolbar{
        grid-template-columns:minmax(0,1fr)!important;
    }
    .gfx-live-text>.gfx-live-text__toolbar>.gfx-live-text__font,
    .gfx-live-text>.gfx-live-text__toolbar>.gfx-live-text__color,
    .gfx-live-text>.gfx-live-text__toolbar>.gfx-live-text__alignment{
        grid-column:1!important;
    }
    .gfx-live-text__alignment-groups{
        gap:14px!important;
    }
}


/* WooVisual 5.0.3-trial.11 — Personalize text area rebuilt to match approved
 * one-line / multi-line storefront wireframes. Shared controls target the
 * active line; each additional line repeats its own text, colour, size and
 * orientation block in sequence. */
.gfx-live-text.gfx-live-text--storefront{
    padding:20px 22px!important;
    border:1px solid rgba(0,0,0,.24)!important;
    border-radius:0!important;
    background:#fff!important;
}
.gfx-live-text.gfx-live-text--storefront .gfx-live-text__title{
    margin:0 0 16px!important;
    text-align:center!important;
    font-weight:700!important;
}
.gfx-live-text--storefront .gfx-live-text__header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:14px 16px!important;
    align-items:end!important;
    margin:0 0 14px!important;
}
.gfx-live-text--storefront .gfx-live-text__header--single{grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr)!important}
.gfx-live-text--storefront .gfx-live-text__header--multi{grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr)!important}
.gfx-live-text--storefront .gfx-live-text__field{display:grid!important;gap:6px!important;margin:0!important;min-width:0!important}
.gfx-live-text--storefront .gfx-live-text__field>span{
    margin:0!important;
    font-weight:600!important;
    line-height:1.2!important;
    text-align:center!important;
}
.gfx-live-text--storefront .gfx-live-text__font>span,
.gfx-live-text--storefront .gfx-live-text__color>span,
.gfx-live-text--storefront .gfx-live-text__size>span,
.gfx-live-text--storefront .gfx-live-text__text>span,
.gfx-live-text--storefront .gfx-live-text__orientation>span,
.gfx-live-text--storefront .gfx-live-text__position>span{ text-align:center!important; }
.gfx-live-text--storefront .gfx-live-text__font select,
.gfx-live-text--storefront .gfx-live-text__text input[type="text"]{
    width:100%!important;
    max-width:100%!important;
    min-height:34px!important;
}
.gfx-live-text--storefront .gfx-live-text__shared-vertical,
.gfx-live-text--storefront .gfx-live-text__shared-alignment{margin:0 0 14px!important}
.gfx-live-text--storefront .gfx-live-text__alignment--shared-horizontal,
.gfx-live-text--storefront .gfx-live-text__alignment--shared-vertical,
.gfx-live-text--storefront .gfx-live-text__alignment--shared{
    justify-items:center!important;
}
.gfx-live-text--storefront .gfx-live-text__alignment-groups{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:34px!important;
    width:100%!important;
}
.gfx-live-text--storefront .gfx-live-text__alignment-buttons{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:0!important;
}
.gfx-live-text--storefront .gfx-live-text__alignment-buttons label{margin:0!important}
.gfx-live-text--storefront .gfx-live-text__alignment-buttons input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.gfx-live-text--storefront .gfx-live-text__alignment-buttons label>span[aria-hidden="true"]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    padding:0!important;
    border:1px solid #b7b7b7!important;
    background:#f7f7f7!important;
    color:#7b7b7b!important;
    box-shadow:none!important;
    opacity:1!important;
}
.gfx-live-text--storefront .gfx-live-text__alignment-buttons input:checked+span[aria-hidden="true"]{
    border-color:#666!important;
    box-shadow:inset 0 0 0 2px #666!important;
    background:#fff!important;
    color:#333!important;
}
.gfx-live-text--storefront .gfx-live-text__lines{display:block!important;margin:0!important}
.gfx-live-text--storefront .gfx-live-text__line{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:12px 24px!important;
    align-items:end!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
}
.gfx-live-text--storefront .gfx-live-text__line.is-active{outline:none!important}
.gfx-live-text--storefront .gfx-live-text__line+.gfx-live-text__line{margin-top:14px!important;padding-top:0!important;border-top:0!important}
.gfx-live-text--storefront .gfx-live-text__text,
.gfx-live-text--storefront .gfx-live-text__orientation{grid-column:1 / -1!important}
.gfx-live-text--storefront .gfx-live-text__text input[type="text"]{min-height:36px!important}
.gfx-live-text--storefront .gfx-live-text__color{justify-items:start!important}
.gfx-live-text--storefront .gfx-live-text__color>span{text-align:left!important}
.gfx-live-text--storefront .gfx-live-text__color-trigger{
    width:100px!important;
    min-width:100px!important;
    max-width:100px!important;
    min-height:34px!important;
    height:34px!important;
    padding:4px 8px!important;
}
.gfx-live-text--storefront .gfx-live-text__color-trigger-chip{flex:0 0 24px!important;width:24px!important;height:22px!important}
.gfx-live-text--storefront .gfx-live-text__color-trigger-name{font-size:12px!important}
.gfx-live-text--storefront .gfx-live-text__size{justify-items:start!important}
.gfx-live-text--storefront .gfx-live-text__size>span{text-align:left!important}
.gfx-live-text--storefront .gfx-live-text__size input[type=range],
.gfx-live-text--storefront [data-gfx-live-text-shared-size-range]{
    width:100px!important;
    max-width:100px!important;
    margin:0!important;
}
.gfx-live-text--storefront .gfx-live-text__size--shared{justify-items:start!important}
.gfx-live-text--storefront .gfx-live-text__size--shared>span{text-align:left!important}
.gfx-live-text--storefront .gfx-live-text__orientation-buttons{
    display:flex!important;
    gap:6px!important;
    width:100%!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
}
.gfx-live-text--storefront .gfx-live-text__orientation-option{flex:1 1 0!important;min-width:0!important}
.gfx-live-text--storefront .gfx-live-text__orientation-option>span{min-height:42px!important;padding:8px 10px!important;line-height:1.1!important}
.gfx-live-text--storefront .gfx-live-text__position--shared{
    margin-top:14px!important;
    justify-items:start!important;
}
.gfx-live-text--storefront .gfx-live-text__position--shared>span{width:100%!important;text-align:center!important}
.gfx-live-text--storefront .gfx-live-text__position-actions{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
}
.gfx-live-text--storefront .gfx-live-text__reset-position{min-height:40px!important;padding:8px 22px!important}
.gfx-live-text--storefront .gfx-live-text__position-status--shared{display:block!important;min-height:0!important;font-size:12px!important;opacity:.78!important}
.gfx-live-text--storefront .gfx-live-text__production-summary{margin-top:14px!important}
@media (max-width:640px){
    .gfx-live-text--storefront{padding:16px!important}
    .gfx-live-text--storefront .gfx-live-text__header{grid-template-columns:1fr!important}
    .gfx-live-text--storefront .gfx-live-text__alignment-groups{gap:18px!important;flex-wrap:wrap!important}
    .gfx-live-text--storefront .gfx-live-text__line{grid-template-columns:1fr 1fr!important;gap:12px!important}
    .gfx-live-text--storefront .gfx-live-text__orientation-buttons{flex-wrap:wrap!important}
}
@media (max-width:420px){
    .gfx-live-text--storefront .gfx-live-text__line{grid-template-columns:1fr!important}
    .gfx-live-text--storefront .gfx-live-text__text,
    .gfx-live-text--storefront .gfx-live-text__orientation{grid-column:1!important}
}

/* WooVisual 5.0.3-trial.12 exact storefront Personalize text override. */
.gfx-live-text.gfx-live-text--storefront{padding:18px 14px 12px!important;margin:16px 0 18px!important;border:1px solid #d5d5d5!important;border-radius:0!important;background:#fff!important}.gfx-live-text--storefront>.gfx-live-text__title{margin:0 0 13px!important;text-align:center!important;font-size:inherit!important;font-weight:700!important;line-height:1.2!important}.gfx-live-text--storefront .gfx-live-text__header{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(105px,.85fr)!important;column-gap:10px!important;row-gap:0!important;align-items:end!important;width:100%!important;margin:0 0 10px!important}.gfx-live-text--storefront .gfx-live-text__field{display:grid!important;gap:5px!important;min-width:0!important;margin:0!important}.gfx-live-text--storefront .gfx-live-text__field>span{display:block!important;min-height:0!important;margin:0!important;font-size:inherit!important;font-weight:600!important;line-height:1.2!important}.gfx-live-text--storefront .gfx-live-text__font>span,.gfx-live-text--storefront .gfx-live-text__alignment>span,.gfx-live-text--storefront .gfx-live-text__text>span,.gfx-live-text--storefront .gfx-live-text__orientation>span,.gfx-live-text--storefront .gfx-live-text__position>span{text-align:center!important}.gfx-live-text--storefront .gfx-live-text__size>span,.gfx-live-text--storefront .gfx-live-text__color>span{text-align:left!important}.gfx-live-text--storefront .gfx-live-text__font select{width:100%!important;max-width:100%!important;height:34px!important;min-height:34px!important;margin:0!important;padding-top:0!important;padding-bottom:0!important}.gfx-live-text--storefront .gfx-live-text__shared-alignment,.gfx-live-text--storefront .gfx-live-text__shared-alignment--single{width:100%!important;margin:0 0 12px!important}.gfx-live-text--storefront .gfx-live-text__alignment--shared,.gfx-live-text--storefront .gfx-live-text__alignment--shared-horizontal{width:100%!important;justify-items:center!important}.gfx-live-text--storefront .gfx-live-text__alignment-groups{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:34px!important;width:100%!important;margin:0!important}.gfx-live-text--storefront .gfx-live-text__alignment-buttons{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:auto!important;margin:0!important}.gfx-live-text--storefront .gfx-live-text__alignment-buttons label{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;margin:0!important}.gfx-live-text--storefront .gfx-live-text__alignment-buttons label>span[aria-hidden=true]{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;border:1px solid #c7c7c7!important;border-radius:0!important;background:#fff!important;color:#8b8b8b!important;font-size:13px!important;line-height:1!important;box-shadow:none!important;opacity:1!important}.gfx-live-text--storefront .gfx-live-text__alignment-buttons input:checked+span[aria-hidden=true]{border-color:#666!important;color:#333!important;box-shadow:inset 0 0 0 2px #666!important}.gfx-live-text--storefront .gfx-live-text__lines{display:block!important;width:100%!important;margin:0!important}.gfx-live-text--storefront .gfx-live-text__line{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:24px!important;row-gap:12px!important;align-items:end!important;width:100%!important;margin:0!important;padding:0!important;border:0!important}.gfx-live-text--storefront .gfx-live-text__line+.gfx-live-text__line{margin-top:12px!important;padding-top:0!important;border-top:0!important}.gfx-live-text--storefront .gfx-live-text__text,.gfx-live-text--storefront .gfx-live-text__orientation{grid-column:1/-1!important;width:100%!important}.gfx-live-text--storefront .gfx-live-text__text input[type=text]{box-sizing:border-box!important;width:100%!important;max-width:100%!important;height:36px!important;min-height:36px!important;margin:0!important}.gfx-live-text--storefront .gfx-live-text__color{grid-column:1!important;justify-items:start!important;align-self:end!important}.gfx-live-text--storefront .gfx-live-text__size{grid-column:2!important;justify-items:start!important;align-self:end!important}.gfx-live-text--storefront .gfx-live-text__color-trigger{box-sizing:border-box!important;width:76px!important;min-width:76px!important;max-width:76px!important;height:34px!important;min-height:34px!important;padding:4px 6px!important}.gfx-live-text--storefront .gfx-live-text__color-trigger-chip{flex:0 0 24px!important;width:24px!important;height:22px!important}.gfx-live-text--storefront .gfx-live-text__color-trigger-name{font-size:11px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.gfx-live-text--storefront .gfx-live-text__size input[type=range],.gfx-live-text--storefront [data-gfx-live-text-shared-size-range]{display:block!important;width:74px!important;max-width:74px!important;height:24px!important;margin:0!important}.gfx-live-text--storefront .gfx-live-text__size--shared{grid-column:2!important;justify-items:start!important;align-self:end!important}.gfx-live-text--storefront .gfx-live-text__orientation{margin-top:0!important}.gfx-live-text--storefront .gfx-live-text__orientation-buttons{display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:7px!important;width:100%!important;margin:0!important}.gfx-live-text--storefront .gfx-live-text__orientation-option{flex:1 1 0!important;min-width:0!important;margin:0!important}.gfx-live-text--storefront .gfx-live-text__orientation-option>span{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:40px!important;padding:6px 7px!important;text-align:center!important;line-height:1.08!important}.gfx-live-text--storefront .gfx-live-text__position--shared{display:grid!important;justify-items:start!important;width:100%!important;margin:10px 0 0!important}.gfx-live-text--storefront .gfx-live-text__position--shared>span{width:100%!important;text-align:center!important}.gfx-live-text--storefront .gfx-live-text__position-actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:100%!important}.gfx-live-text--storefront .gfx-live-text__reset-position{min-height:38px!important;margin:0!important;padding:7px 18px!important}.gfx-live-text--storefront .gfx-live-text__position-help{margin:0!important}.gfx-live-text--storefront .gfx-live-text__position-status--shared{display:none!important}.gfx-live-text--single-line .gfx-live-text__header .gfx-live-text__alignment-buttons--horizontal{justify-content:flex-start!important}.gfx-live-text--multi-line .gfx-live-text__header{margin-bottom:10px!important}@media(max-width:520px){.gfx-live-text.gfx-live-text--storefront{padding:16px 10px 12px!important}.gfx-live-text--storefront .gfx-live-text__header{grid-template-columns:minmax(0,1.4fr) minmax(96px,.8fr)!important;column-gap:8px!important}.gfx-live-text--storefront .gfx-live-text__alignment-groups{gap:22px!important}.gfx-live-text--storefront .gfx-live-text__line{column-gap:18px!important}}@media(max-width:360px){.gfx-live-text--storefront .gfx-live-text__alignment-groups{gap:12px!important}.gfx-live-text--storefront .gfx-live-text__alignment-buttons{gap:4px!important}.gfx-live-text--storefront .gfx-live-text__alignment-buttons label,.gfx-live-text--storefront .gfx-live-text__alignment-buttons label>span[aria-hidden=true]{width:29px!important;min-width:29px!important;height:29px!important;min-height:29px!important}}


/* WooVisual 5.0.3-trial.13 — approved Personalize Text spacing refinements. */
.gfx-live-text--multi-line .gfx-live-text__header{
    grid-template-columns:minmax(0,1fr)!important;
    margin-bottom:10px!important;
}
.gfx-live-text--multi-line .gfx-live-text__header>.gfx-live-text__font{
    grid-column:1!important;
    width:min(58%,230px)!important;
    max-width:230px!important;
}
/* Each line keeps Colour and Font size together instead of placing Font size
 * at the far right edge of the panel. The third track absorbs free space so
 * Line and Text orientation can still span the full panel width. */
.gfx-live-text--storefront .gfx-live-text__line{
    grid-template-columns:minmax(92px,110px) minmax(100px,116px) minmax(0,1fr)!important;
    column-gap:14px!important;
    justify-content:start!important;
}
.gfx-live-text--storefront .gfx-live-text__text,
.gfx-live-text--storefront .gfx-live-text__orientation{
    grid-column:1 / -1!important;
}
.gfx-live-text--storefront .gfx-live-text__color{grid-column:1!important}
.gfx-live-text--storefront .gfx-live-text__size{grid-column:2!important}
.gfx-live-text--storefront .gfx-live-text__size--shared{display:none!important}
@media(max-width:420px){
    .gfx-live-text--multi-line .gfx-live-text__header>.gfx-live-text__font{width:100%!important;max-width:100%!important}
    .gfx-live-text--storefront .gfx-live-text__line{
        grid-template-columns:minmax(88px,1fr) minmax(96px,1fr)!important;
        column-gap:10px!important;
    }
    .gfx-live-text--storefront .gfx-live-text__text,
    .gfx-live-text--storefront .gfx-live-text__orientation{grid-column:1 / -1!important}
}


/* WooVisual 5.0.3-trial.15 — final Personalize Text control spacing + exact
 * Quantity/Add-to-basket edge correction. Colour and Font size now live in an
 * explicit compact flex row, preventing theme/grid rules from pushing the
 * slider to the far right. */
.gfx-live-text--storefront .gfx-live-text__line{
    grid-template-columns:minmax(0,1fr)!important;
    column-gap:0!important;
}
.gfx-live-text--storefront .gfx-live-text__text,
.gfx-live-text--storefront .gfx-live-text__line-controls,
.gfx-live-text--storefront .gfx-live-text__orientation{
    grid-column:1!important;
    width:100%!important;
    max-width:100%!important;
}
.gfx-live-text--storefront .gfx-live-text__line-controls{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:18px!important;
    margin:0!important;
    padding:0!important;
}
.gfx-live-text--storefront .gfx-live-text__line-controls>.gfx-live-text__color,
.gfx-live-text--storefront .gfx-live-text__line-controls>.gfx-live-text__size{
    display:grid!important;
    grid-column:auto!important;
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    justify-items:start!important;
    align-self:end!important;
}
/* About +13% larger than trial.14 (76x34 -> 86x38). */
.gfx-live-text--storefront .gfx-live-text__line-controls .gfx-live-text__color-trigger{
    width:86px!important;
    min-width:86px!important;
    max-width:86px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    padding:5px 7px!important;
}
.gfx-live-text--storefront .gfx-live-text__line-controls .gfx-live-text__color-trigger-chip{
    flex:0 0 27px!important;
    width:27px!important;
    height:25px!important;
}
.gfx-live-text--storefront .gfx-live-text__line-controls .gfx-live-text__color-trigger-name{
    font-size:12px!important;
}
.gfx-live-text--storefront .gfx-live-text__line-controls .gfx-live-text__size input[type=range]{
    width:78px!important;
    max-width:78px!important;
}
@media(max-width:420px){
    .gfx-live-text--storefront .gfx-live-text__line-controls{gap:14px!important}
}


/* WooVisual 5.0.3-trial.16 — Personalize Text colour label + fine spacing.
 * Keep Colour and Font size visually paired while allowing normal colour names
 * such as Purple to remain fully readable. */
.gfx-live-text--storefront .gfx-live-text__line-controls{
    gap:24px!important;
}
.gfx-live-text--storefront .gfx-live-text__line-controls .gfx-live-text__color-trigger{
    width:108px!important;
    min-width:108px!important;
    max-width:108px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    padding:5px 8px!important;
    gap:7px!important;
}
.gfx-live-text--storefront .gfx-live-text__line-controls .gfx-live-text__color-trigger-chip{
    flex:0 0 29px!important;
    width:29px!important;
    height:27px!important;
}
.gfx-live-text--storefront .gfx-live-text__line-controls .gfx-live-text__color-trigger-name{
    flex:1 1 auto!important;
    min-width:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    font-size:12px!important;
}
.gfx-live-text--storefront .gfx-live-text__line-controls .gfx-live-text__color-trigger-arrow{
    flex:0 0 auto!important;
    margin-left:1px!important;
}
.gfx-live-text--storefront .gfx-live-text__line-controls>.gfx-live-text__size{
    margin-left:2px!important;
}
@media(max-width:420px){
    .gfx-live-text--storefront .gfx-live-text__line-controls{gap:18px!important}
}


/* WooVisual 5.0.3-trial.23.1 — approved final purchase geometry.
 * Row 1: Quantity (compact) | Price. Row 2: Add to basket | optional wishlist.
 * Quantity matches the 42px height used by the normal WooVisual option buttons. */
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row{
    grid-template-columns:minmax(0,40fr) minmax(0,60fr)!important;
    align-items:center!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row>.quantity{
    grid-column:1!important;
    min-height:42px!important;
    height:42px!important;
    max-height:42px!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row>.quantity>*,
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row>.quantity button,
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row>.quantity input.qty{
    min-height:42px!important;
    height:42px!important;
    max-height:42px!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row>.gfx-woovisual-simple-price-bottom{
    grid-column:2!important;
    min-height:42px!important;
    justify-content:center!important;
}
form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row:has(>.gfx-woovisual-simple-price-bottom[hidden]){
    grid-template-columns:minmax(0,40fr)!important;
}
@media(max-width:600px){
    form.cart.gfx-woovisual-simple-form>.gfx-woovisual-purchase-row{
        grid-template-columns:minmax(0,40fr) minmax(0,60fr)!important;
    }
}


/* WooVisual 5.0.3-trial.23.2 — No Layout Flash.
 * Purchase/action rows are now emitted by PHP in their final structure. These
 * server-known selectors apply before modern-controls.js runs, so the active
 * theme never gets a visible first paint of Quantity / Add to basket geometry. */
body.gfx-woovisual-modern-product form.cart{
    --gfx-woovisual-wishlist-width:52px;
    --gfx-woovisual-purchase-gap:8px;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-purchase-row{
    position:relative!important;inset:auto!important;display:grid!important;
    grid-template-columns:minmax(0,40fr) minmax(0,60fr)!important;
    gap:10px!important;align-items:center!important;justify-content:stretch!important;
    box-sizing:border-box!important;float:none!important;clear:both!important;flex:none!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0 0 10px!important;padding:0!important;transform:none!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-purchase-row>.quantity{
    grid-column:1!important;display:flex!important;align-items:stretch!important;justify-content:stretch!important;
    position:relative!important;inset:auto!important;box-sizing:border-box!important;float:none!important;clear:none!important;
    width:100%!important;max-width:100%!important;min-width:0!important;min-height:42px!important;height:42px!important;max-height:42px!important;
    margin:0!important;padding:0!important;transform:none!important;overflow:visible!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-purchase-row>.quantity>*,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-purchase-row>.quantity button,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-purchase-row>.quantity input.qty{
    box-sizing:border-box!important;min-height:42px!important;height:42px!important;max-height:42px!important;min-width:0!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-purchase-row>.quantity input.qty{
    flex:1 1 auto!important;width:auto!important;max-width:100%!important;margin:0!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-purchase-row>.gfx-woovisual-simple-price-bottom{
    grid-column:2!important;display:flex!important;align-items:center!important;justify-content:center!important;
    box-sizing:border-box!important;position:relative!important;inset:auto!important;float:none!important;clear:none!important;
    width:100%!important;max-width:100%!important;min-width:0!important;min-height:42px!important;
    margin:0!important;padding:0 8px!important;text-align:center!important;transform:none!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-purchase-row>.gfx-woovisual-simple-price-bottom.gfx-woovisual-price-pending{
    visibility:hidden!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-purchase-row>.gfx-woovisual-simple-price-bottom[hidden]{display:none!important}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-purchase-row:has(>.gfx-woovisual-simple-price-bottom[hidden]){
    grid-template-columns:minmax(0,40fr)!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row{
    position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:var(--gfx-woovisual-purchase-gap)!important;align-items:stretch!important;justify-content:stretch!important;
    box-sizing:border-box!important;float:none!important;clear:both!important;flex:none!important;
    width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;transform:none!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.single_add_to_cart_button{
    position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;
    box-sizing:border-box!important;float:none!important;clear:none!important;flex:none!important;
    width:100%!important;max-width:100%!important;min-width:0!important;min-height:50px!important;margin:0!important;transform:none!important;
}
/* Reserve the optional wishlist column on first paint whenever its markup is
 * already present anywhere inside the current product. The original wishlist
 * node stays hidden until JS moves it into the reserved column. */
body.gfx-woovisual-modern-product div.product:has(.mfn-wish-button) form.cart>.gfx-woovisual-action-row,
body.gfx-woovisual-modern-product div.product:has(.yith-wcwl-add-to-wishlist) form.cart>.gfx-woovisual-action-row,
body.gfx-woovisual-modern-product div.product:has(.tinv-wraper) form.cart>.gfx-woovisual-action-row,
body.gfx-woovisual-modern-product div.product:has(.woosw-btn) form.cart>.gfx-woovisual-action-row,
body.gfx-woovisual-modern-product div.product:has(.wcboost-wishlist-button) form.cart>.gfx-woovisual-action-row,
body.gfx-woovisual-modern-product div.product:has(.wpc-wishlist-button) form.cart>.gfx-woovisual-action-row,
body.gfx-woovisual-modern-product div.product:has([data-wishlist]) form.cart>.gfx-woovisual-action-row{
    grid-template-columns:minmax(0,1fr) var(--gfx-woovisual-wishlist-width)!important;
}
body.gfx-woovisual-modern-product div.product:has(.mfn-wish-button) form.cart>.gfx-woovisual-purchase-row,
body.gfx-woovisual-modern-product div.product:has(.yith-wcwl-add-to-wishlist) form.cart>.gfx-woovisual-purchase-row,
body.gfx-woovisual-modern-product div.product:has(.tinv-wraper) form.cart>.gfx-woovisual-purchase-row,
body.gfx-woovisual-modern-product div.product:has(.woosw-btn) form.cart>.gfx-woovisual-purchase-row,
body.gfx-woovisual-modern-product div.product:has(.wcboost-wishlist-button) form.cart>.gfx-woovisual-purchase-row,
body.gfx-woovisual-modern-product div.product:has(.wpc-wishlist-button) form.cart>.gfx-woovisual-purchase-row,
body.gfx-woovisual-modern-product div.product:has([data-wishlist]) form.cart>.gfx-woovisual-purchase-row{
    width:calc(100% - 60px)!important;max-width:calc(100% - 60px)!important;
}
body.gfx-woovisual-modern-product div.product .mfn-wish-button,
body.gfx-woovisual-modern-product div.product .yith-wcwl-add-to-wishlist,
body.gfx-woovisual-modern-product div.product .tinv-wraper,
body.gfx-woovisual-modern-product div.product .woosw-btn,
body.gfx-woovisual-modern-product div.product .wcboost-wishlist-button,
body.gfx-woovisual-modern-product div.product .wpc-wishlist-button,
body.gfx-woovisual-modern-product div.product [data-wishlist]{
    visibility:hidden!important;opacity:0!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.mfn-wish-button,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.yith-wcwl-add-to-wishlist,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.tinv-wraper,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.woosw-btn,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.wcboost-wishlist-button,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.wpc-wishlist-button,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>[data-wishlist]{
    visibility:visible!important;opacity:1!important;position:relative!important;inset:auto!important;
    box-sizing:border-box!important;float:none!important;clear:none!important;flex:none!important;
    width:var(--gfx-woovisual-wishlist-width)!important;min-width:var(--gfx-woovisual-wishlist-width)!important;max-width:var(--gfx-woovisual-wishlist-width)!important;
    min-height:50px!important;margin:0!important;transform:none!important;
}
@media(max-width:600px){
    body.gfx-woovisual-modern-product form.cart{--gfx-woovisual-wishlist-width:50px}
    body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-purchase-row{gap:8px!important;grid-template-columns:minmax(0,40fr) minmax(0,60fr)!important}
    body.gfx-woovisual-modern-product div.product:has(.mfn-wish-button) form.cart>.gfx-woovisual-purchase-row,
    body.gfx-woovisual-modern-product div.product:has(.yith-wcwl-add-to-wishlist) form.cart>.gfx-woovisual-purchase-row,
    body.gfx-woovisual-modern-product div.product:has(.tinv-wraper) form.cart>.gfx-woovisual-purchase-row,
    body.gfx-woovisual-modern-product div.product:has(.woosw-btn) form.cart>.gfx-woovisual-purchase-row,
    body.gfx-woovisual-modern-product div.product:has(.wcboost-wishlist-button) form.cart>.gfx-woovisual-purchase-row,
    body.gfx-woovisual-modern-product div.product:has(.wpc-wishlist-button) form.cart>.gfx-woovisual-purchase-row,
    body.gfx-woovisual-modern-product div.product:has([data-wishlist]) form.cart>.gfx-woovisual-purchase-row{
        width:calc(100% - 58px)!important;max-width:calc(100% - 58px)!important;
    }
}


/* WooVisual 5.0.3 — first-paint wishlist hardening.
 * The theme-owned heart is hidden until the ORIGINAL node has been relocated
 * into the server-rendered WooVisual action row. Its icon size is captured
 * from the theme before the move and exposed through a CSS variable. */
body.gfx-woovisual-modern-product form.cart{
    --gfx-woovisual-wishlist-icon-size:28px;
}
body.gfx-woovisual-modern-product div.product .mfn-wish-button:not(.gfx-woovisual-wishlist-relocated),
body.gfx-woovisual-modern-product div.product .yith-wcwl-add-to-wishlist:not(.gfx-woovisual-wishlist-relocated),
body.gfx-woovisual-modern-product div.product .tinv-wraper:not(.gfx-woovisual-wishlist-relocated),
body.gfx-woovisual-modern-product div.product .woosw-btn:not(.gfx-woovisual-wishlist-relocated),
body.gfx-woovisual-modern-product div.product .wcboost-wishlist-button:not(.gfx-woovisual-wishlist-relocated),
body.gfx-woovisual-modern-product div.product .wpc-wishlist-button:not(.gfx-woovisual-wishlist-relocated),
body.gfx-woovisual-modern-product div.product [data-wishlist]:not(.gfx-woovisual-wishlist-relocated){
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.gfx-woovisual-wishlist-relocated{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.mfn-wish-button.gfx-woovisual-wishlist-relocated svg,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.yith-wcwl-add-to-wishlist.gfx-woovisual-wishlist-relocated svg,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.tinv-wraper.gfx-woovisual-wishlist-relocated svg,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.woosw-btn.gfx-woovisual-wishlist-relocated svg,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.wcboost-wishlist-button.gfx-woovisual-wishlist-relocated svg,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.wpc-wishlist-button.gfx-woovisual-wishlist-relocated svg,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>[data-wishlist].gfx-woovisual-wishlist-relocated svg{
    width:var(--gfx-woovisual-wishlist-icon-size)!important;
    height:var(--gfx-woovisual-wishlist-icon-size)!important;
    max-width:var(--gfx-woovisual-wishlist-icon-size)!important;
    max-height:var(--gfx-woovisual-wishlist-icon-size)!important;
}
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.gfx-woovisual-wishlist-relocated i,
body.gfx-woovisual-modern-product form.cart>.gfx-woovisual-action-row>.gfx-woovisual-wishlist-relocated .icon{
    font-size:var(--gfx-woovisual-wishlist-icon-size)!important;
    line-height:1!important;
}
@media(max-width:600px){
    body.gfx-woovisual-modern-product form.cart{--gfx-woovisual-wishlist-icon-size:26px}
}

/* WooVisual 5.1.0 — protected configured preview / mobile gallery handoff. */
.woocommerce-product-gallery.gfx-woocolorizer-active .gfx-woocolorizer-preview-stage{touch-action:pan-y;-webkit-user-select:none;user-select:none}
.woocommerce-product-gallery.gfx-woocolorizer-active .gfx-woocolorizer-preview-stage img,
.woocommerce-product-gallery.gfx-woocolorizer-active .gfx-woocolorizer-preview-thumb img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}

.woocommerce-product-gallery.gfx-woocolorizer-active .gfx-gallery-watermark-overlay{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  z-index:18;
  pointer-events:none;
  user-select:none;
}

body.gfx-woovisual-modern-product .woocommerce-product-gallery.gfx-woocolorizer-preview-loading .gfx-woocolorizer-preview-stage{
  background:#fff;
}
body.gfx-woovisual-modern-product .woocommerce-product-gallery.gfx-woocolorizer-preview-loading .gfx-woocolorizer-preview-stage::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:28px;
  height:28px;
  margin:-14px 0 0 -14px;
  border:3px solid rgba(0,0,0,.12);
  border-top-color:rgba(0,0,0,.5);
  border-radius:50%;
  animation:gfxWooVisualPreviewSpin .8s linear infinite;
  z-index:3;
  pointer-events:none;
}
@keyframes gfxWooVisualPreviewSpin{to{transform:rotate(360deg)}}

/* WooVisual 5.1.0 — never paint empty/broken configured-preview media. */
body.gfx-woovisual-modern-product .woocommerce-product-gallery .gfx-woocolorizer-preview-stage.is-loading>img,
body.gfx-woovisual-modern-product .woocommerce-product-gallery .gfx-woocolorizer-preview-stage:not(.is-ready)>img{
  visibility:hidden!important;
  opacity:0!important;
}
body.gfx-woovisual-modern-product .woocommerce-product-gallery .gfx-woocolorizer-preview-stage.is-ready>img{
  visibility:visible!important;
  opacity:1!important;
}
body.gfx-woovisual-modern-product .woocommerce-product-gallery .gfx-woocolorizer-preview-thumb:not(.is-ready),
body.gfx-woovisual-modern-product .woocommerce-product-gallery .gfx-woocolorizer-preview-thumb[hidden]{
  display:none!important;
}
