.elementor-32632 .elementor-element.elementor-element-66908b84{--display:flex;--min-height:100px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:70px;--padding-bottom:70px;--padding-left:0px;--padding-right:0px;}.elementor-32632 .elementor-element.elementor-element-66908b84:not(.elementor-motion-effects-element-type-background), .elementor-32632 .elementor-element.elementor-element-66908b84 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1E4A73;}.elementor-32632 .elementor-element.elementor-element-58716300{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 1px 0px 0px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(255,255,255,0.2);--border-color:rgba(255,255,255,0.2);--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-32632 .elementor-element.elementor-element-246572d0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#e2e6ed;--border-color:#e2e6ed;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-32632 .elementor-element.elementor-element-246572d0:not(.elementor-motion-effects-element-type-background), .elementor-32632 .elementor-element.elementor-element-246572d0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5ed5c32 );}.elementor-32632 .elementor-element.elementor-element-2d0ae5da{width:initial;max-width:initial;}.elementor-32632 .elementor-element.elementor-element-2d0ae5da .elementor-icon-wrapper{text-align:center;}.elementor-32632 .elementor-element.elementor-element-2d0ae5da.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-2d0ae5da.elementor-view-framed .elementor-icon, .elementor-32632 .elementor-element.elementor-element-2d0ae5da.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-2d0ae5da.elementor-view-framed .elementor-icon, .elementor-32632 .elementor-element.elementor-element-2d0ae5da.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-2b40b7ae{text-align:center;}.elementor-32632 .elementor-element.elementor-element-2b40b7ae .elementor-heading-title{font-family:"Barlow Condensed", Sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-20f2f660{text-align:center;}.elementor-32632 .elementor-element.elementor-element-40771378{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#e2e6ed;--border-color:#e2e6ed;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-32632 .elementor-element.elementor-element-40771378:not(.elementor-motion-effects-element-type-background), .elementor-32632 .elementor-element.elementor-element-40771378 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5ed5c32 );}.elementor-32632 .elementor-element.elementor-element-e21e751{width:initial;max-width:initial;}.elementor-32632 .elementor-element.elementor-element-e21e751 .elementor-icon-wrapper{text-align:center;}.elementor-32632 .elementor-element.elementor-element-e21e751.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-e21e751.elementor-view-framed .elementor-icon, .elementor-32632 .elementor-element.elementor-element-e21e751.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-e21e751.elementor-view-framed .elementor-icon, .elementor-32632 .elementor-element.elementor-element-e21e751.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-1ba2ebe2{text-align:center;}.elementor-32632 .elementor-element.elementor-element-1ba2ebe2 .elementor-heading-title{font-family:"Barlow Condensed", Sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-c547ae8{text-align:center;}.elementor-32632 .elementor-element.elementor-element-c547ae8 a{color:var( --e-global-color-accent );}.elementor-32632 .elementor-element.elementor-element-5ec689dd .elementor-button{background-color:#02010100;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );padding:0px 0px 0px 0px;}.elementor-32632 .elementor-element.elementor-element-5ec689dd .elementor-button:hover, .elementor-32632 .elementor-element.elementor-element-5ec689dd .elementor-button:focus{color:var( --e-global-color-53d15f5 );}.elementor-32632 .elementor-element.elementor-element-5ec689dd .elementor-button:hover svg, .elementor-32632 .elementor-element.elementor-element-5ec689dd .elementor-button:focus svg{fill:var( --e-global-color-53d15f5 );}.elementor-32632 .elementor-element.elementor-element-3e0ccbd5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#e2e6ed;--border-color:#e2e6ed;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-32632 .elementor-element.elementor-element-3e0ccbd5:not(.elementor-motion-effects-element-type-background), .elementor-32632 .elementor-element.elementor-element-3e0ccbd5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5ed5c32 );}.elementor-32632 .elementor-element.elementor-element-17770644{width:initial;max-width:initial;}.elementor-32632 .elementor-element.elementor-element-17770644 .elementor-icon-wrapper{text-align:center;}.elementor-32632 .elementor-element.elementor-element-17770644.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-17770644.elementor-view-framed .elementor-icon, .elementor-32632 .elementor-element.elementor-element-17770644.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-17770644.elementor-view-framed .elementor-icon, .elementor-32632 .elementor-element.elementor-element-17770644.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-413b0834{text-align:center;}.elementor-32632 .elementor-element.elementor-element-413b0834 .elementor-heading-title{font-family:"Barlow Condensed", Sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-2093fd67{text-align:center;}.elementor-32632 .elementor-element.elementor-element-7b2e6404 .elementor-button{background-color:#02010100;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );padding:0px 0px 0px 0px;}.elementor-32632 .elementor-element.elementor-element-7b2e6404 .elementor-button:hover, .elementor-32632 .elementor-element.elementor-element-7b2e6404 .elementor-button:focus{color:var( --e-global-color-53d15f5 );}.elementor-32632 .elementor-element.elementor-element-7b2e6404 .elementor-button:hover svg, .elementor-32632 .elementor-element.elementor-element-7b2e6404 .elementor-button:focus svg{fill:var( --e-global-color-53d15f5 );}.elementor-32632 .elementor-element.elementor-element-fc78baf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#e2e6ed;--border-color:#e2e6ed;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-32632 .elementor-element.elementor-element-fc78baf:not(.elementor-motion-effects-element-type-background), .elementor-32632 .elementor-element.elementor-element-fc78baf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5ed5c32 );}.elementor-32632 .elementor-element.elementor-element-d920da9{width:initial;max-width:initial;}.elementor-32632 .elementor-element.elementor-element-d920da9 .elementor-icon-wrapper{text-align:center;}.elementor-32632 .elementor-element.elementor-element-d920da9.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-d920da9.elementor-view-framed .elementor-icon, .elementor-32632 .elementor-element.elementor-element-d920da9.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-d920da9.elementor-view-framed .elementor-icon, .elementor-32632 .elementor-element.elementor-element-d920da9.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-4f0457d3{text-align:center;}.elementor-32632 .elementor-element.elementor-element-4f0457d3 .elementor-heading-title{font-family:"Barlow Condensed", Sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var( --e-global-color-primary );}.elementor-32632 .elementor-element.elementor-element-2c7576f7{text-align:center;}@media(max-width:1024px) and (min-width:768px){.elementor-32632 .elementor-element.elementor-element-246572d0{--width:45%;}.elementor-32632 .elementor-element.elementor-element-40771378{--width:45%;}.elementor-32632 .elementor-element.elementor-element-3e0ccbd5{--width:45%;}.elementor-32632 .elementor-element.elementor-element-fc78baf{--width:45%;}}@media(max-width:1366px){.elementor-32632 .elementor-element.elementor-element-66908b84{--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}}@media(max-width:1024px){.elementor-32632 .elementor-element.elementor-element-58716300{--justify-content:center;--flex-wrap:wrap;}}/* Start custom CSS *//* =====================================================
   JT Bulk Order — Mobile-first UI
   Elementor-hardened v1.20
   All rules scoped under .jtbo-accordion or use
   !important where Elementor overrides are likely.
   ===================================================== */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=DM+Mono:wght@400;500&display=swap');

:root {
  --jtbo-bg:          #fafafa;
  --jtbo-surface:     #ffffff;
  --jtbo-border:      #e2e2e2;
  --jtbo-border-dark: #c8c8c8;
  --jtbo-text:        #1a1a1a;
  --jtbo-muted:       #6b6b6b;
  --jtbo-accent:      #1a1a1a;
  --jtbo-accent-inv:  #ffffff;
  --jtbo-success:     #2a7a4b;
  --jtbo-success-bg:  #f0faf4;
  --jtbo-danger:      #c0392b;
  --jtbo-tier-bg:     #fffbf0;
  --jtbo-tier-border: #f0c040;
  --jtbo-radius:      6px;
  --jtbo-radius-lg:   10px;
  --jtbo-shadow:      0 1px 3px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.06);
  --jtbo-font:        'DM Sans', system-ui, sans-serif;
  --jtbo-mono:        'DM Mono', monospace;
  --jtbo-transition:  180ms ease;
}
.woocommerce-variation-add-to-cart .jtbo-print-btn-wrap {
  flex-basis: 100% !important;
  order: 99 !important;

}
.woocommerce-variation-add-to-cart  {
flex-wrap: wrap !important;
}
/* ── Accordion wrapper ─────────────────────────────── */
.jtbo-accordion {
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  font-family: var(--jtbo-font) !important;
}

/* ── Toggle button ─────────────────────────────────── */
.jtbo-accordion .jtbo-toggle-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  min-width: 180px;
  max-width: 100%;
  padding: 12px 20px !important;
  background: #1a1a1a !important;
  color: #ffffff !important;
  border: 1.5px solid #1a1a1a !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  font-family: var(--jtbo-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  line-height: 1 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.15) !important;
  transition: background var(--jtbo-transition), border-color var(--jtbo-transition) !important;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
}
.jtbo-accordion .jtbo-toggle-btn:hover {
  background: #333333 !important;
  border-color: #333333 !important;
}
.jtbo-accordion .jtbo-toggle-btn[aria-expanded="true"] {
  background: #333333 !important;
  border-color: #333333 !important;
  border-bottom-left-radius: 4px !important;
  border-bottom-right-radius: 4px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.1) !important;
}
.jtbo-accordion .jtbo-toggle-icon {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  color: #ffffff !important;
}
.jtbo-accordion .jtbo-toggle-label {
  flex: 1 !important;
  color: #ffffff !important;
}
.jtbo-accordion .jtbo-toggle-chevron {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  margin-left: 6px !important;
  color: #ffffff !important;
  transition: transform 250ms ease !important;
}
.jtbo-accordion .jtbo-toggle-btn[aria-expanded="true"] .jtbo-toggle-chevron {
  transform: rotate(180deg) !important;
}

/* ── Accordion panel ─────────────────────────────────── */
.jtbo-accordion .jtbo-panel {
  border: 1.5px solid var(--jtbo-border) !important;
  border-top: 1.5px solid var(--jtbo-border) !important;
  border-radius: var(--jtbo-radius-lg) !important;
  padding: 20px !important;
  margin-top: 12px !important;
  background: var(--jtbo-surface) !important;
  box-shadow: none !important;
  overflow: visible !important;
  max-height: none !important;
  animation: jtbo-panel-open 250ms ease;
}
.jtbo-accordion .jtbo-panel[hidden] {
  display: none !important;
}
@keyframes jtbo-panel-open {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── App container ───────────────────────────────────── */
.jtbo-app {
  font-family: var(--jtbo-font) !important;
  color: var(--jtbo-text) !important;
  -webkit-font-smoothing: antialiased;
  max-width: 640px;
  margin: 0 !important;
}

/* ── Loading spinner ─────────────────────────────────── */
.jtbo-loading {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 48px 0 !important;
}
.jtbo-spinner {
  width: 28px !important;
  height: 28px !important;
  border: 2px solid var(--jtbo-border) !important;
  border-top-color: var(--jtbo-text) !important;
  border-radius: 50% !important;
  animation: jtbo-spin 0.7s linear infinite !important;
}
@keyframes jtbo-spin { to { transform: rotate(360deg); } }

/* ── Step header ─────────────────────────────────────── */
.jtbo-step-header {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
}
.jtbo-step-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: var(--jtbo-text) !important;
  color: var(--jtbo-accent-inv) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  flex-shrink: 0 !important;
  font-family: var(--jtbo-mono) !important;
}
.jtbo-step-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  color: var(--jtbo-text) !important;
}

/* ── Colour picker ───────────────────────────────────── */
.jtbo-colour-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}
@media (min-width: 540px) {
  .jtbo-colour-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important; }
}
@media (min-width: 768px) {
  .jtbo-colour-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important; }
}

.jtbo-colour-option {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border: 1.5px solid var(--jtbo-border) !important;
  border-radius: var(--jtbo-radius) !important;
  cursor: pointer !important;
  background: var(--jtbo-surface) !important;
  transition: border-color var(--jtbo-transition), box-shadow var(--jtbo-transition) !important;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  text-align: left !important;
  width: 100% !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-transform: none !important;
  font-size: 13px !important;
  font-family: var(--jtbo-font) !important;
}
.jtbo-colour-option:hover {
  border-color: var(--jtbo-border-dark) !important;
  box-shadow: var(--jtbo-shadow) !important;
}
.jtbo-colour-option.is-selected {
  border-color: var(--jtbo-accent) !important;
  box-shadow: 0 0 0 1px var(--jtbo-accent) !important;
}
.jtbo-colour-option.is-in-cart {
  border-color: var(--jtbo-success) !important;
}

.jtbo-swatch {
  width: 28px !important;
  height: 28px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(0,0,0,.1) !important;
  flex-shrink: 0 !important;
  overflow: hidden;
  background: #ddd;
}
.jtbo-swatch img { width: 100%; height: 100%; object-fit: cover; display: block; }

.jtbo-colour-name {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  flex: 1 !important;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--jtbo-text) !important;
}
.jtbo-colour-tick {
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: var(--jtbo-success) !important;
  color: #fff !important;
  font-size: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  opacity: 0 !important;
  transition: opacity var(--jtbo-transition) !important;
}
.jtbo-colour-option.is-in-cart .jtbo-colour-tick { opacity: 1 !important; }

/* ── Divider ─────────────────────────────────────────── */
.jtbo-divider {
  height: 1px !important;
  background: var(--jtbo-border) !important;
  margin: 20px 0 !important;
  border: none !important;
}

/* ── Size panel ──────────────────────────────────────── */
.jtbo-size-panel {
  border: 1.5px solid var(--jtbo-border) !important;
  border-radius: var(--jtbo-radius-lg) !important;
  overflow: hidden;
  margin-bottom: 16px !important;
  background: var(--jtbo-surface) !important;
}
.jtbo-size-panel-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 16px !important;
  background: #f5f5f5 !important;
  border-bottom: 1px solid var(--jtbo-border) !important;
}
.jtbo-size-panel-swatch {
  width: 22px !important; height: 22px !important;
  border-radius: 3px !important;
  border: 1px solid rgba(0,0,0,.1) !important;
  overflow: hidden; flex-shrink: 0 !important;
}
.jtbo-size-panel-name {
  font-size: 14px !important; font-weight: 600 !important;
  color: var(--jtbo-text) !important;
}

/* ── Qty stepper ─────────────────────────────────────── */
.jtbo-qty-stepper {
  display: flex !important;
  align-items: center !important;
  border: 1.5px solid var(--jtbo-border) !important;
  border-radius: var(--jtbo-radius) !important;
  overflow: hidden;
  height: 36px !important;
}
.jtbo-qty-btn {
  width: 36px !important;
  height: 36px !important;
  background: #f5f5f5 !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: var(--jtbo-text) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background var(--jtbo-transition) !important;
  -webkit-tap-highlight-color: transparent;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  text-transform: none !important;
  font-weight: 400 !important;
}
.jtbo-qty-btn:hover { background: var(--jtbo-border) !important; }
.jtbo-qty-btn:active { background: var(--jtbo-border-dark) !important; }
.jtbo-qty-btn:disabled { opacity: 0.35; cursor: default; }

.jtbo-qty-input {
  width: 44px !important;
  height: 36px !important;
  border: none !important;
  border-left: 1.5px solid var(--jtbo-border) !important;
  border-right: 1.5px solid var(--jtbo-border) !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: var(--jtbo-mono) !important;
  color: var(--jtbo-text) !important;
  background: var(--jtbo-surface) !important;
  outline: none !important;
  box-shadow: none !important;
  -moz-appearance: textfield;
  padding: 0 !important;
  margin: 0 !important;
}
.jtbo-qty-input::-webkit-inner-spin-button,
.jtbo-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; }
.jtbo-qty-input:focus { background: #fafcff !important; }

/* ── Cart summary ────────────────────────────────────── */
.jtbo-cart-summary {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
}
.jtbo-cart-summary-item {
  background: var(--jtbo-surface) !important;
  border: 1.5px solid var(--jtbo-border) !important;
  border-radius: var(--jtbo-radius) !important;
  padding: 10px 14px !important;
  box-shadow: none !important;
}
.jtbo-cart-summary-label {
  font-size: 11px !important;
  color: var(--jtbo-muted) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 2px !important;
}
.jtbo-cart-summary-value {
  font-size: 18px !important;
  font-weight: 600 !important;
  font-family: var(--jtbo-mono) !important;
  letter-spacing: -0.02em;
  color: var(--jtbo-text) !important;
}
.jtbo-cart-summary-unit {
  font-size: 11px !important;
  color: var(--jtbo-muted) !important;
  font-weight: 400 !important;
  font-family: var(--jtbo-font) !important;
}

/* ── Tier nudge ──────────────────────────────────────── */
.jtbo-tier-nudge {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 14px !important;
  background: var(--jtbo-tier-bg) !important;
  border: 1px solid var(--jtbo-tier-border) !important;
  border-radius: var(--jtbo-radius) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  margin-bottom: 16px !important;
  color: var(--jtbo-text) !important;
}
.jtbo-tier-nudge::before { content: '↓'; font-size: 15px; flex-shrink: 0; }

/* ── Order review ────────────────────────────────────── */
.jtbo-review-lines {
  border: 1.5px solid var(--jtbo-border) !important;
  border-radius: var(--jtbo-radius-lg) !important;
  overflow: hidden;
  margin-bottom: 16px !important;
}
.jtbo-review-colour-group { border-bottom: 1px solid var(--jtbo-border) !important; }
.jtbo-review-colour-group:last-child { border-bottom: none !important; }
.jtbo-review-colour-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 16px !important;
  background: #f8f8f8 !important;
}
.jtbo-review-colour-header .jtbo-swatch { width: 20px !important; height: 20px !important; }
.jtbo-review-colour-name { font-size: 13px !important; font-weight: 600 !important; flex: 1 !important; color: var(--jtbo-text) !important; }
.jtbo-review-colour-subtotal { font-size: 13px !important; font-family: var(--jtbo-mono) !important; color: var(--jtbo-muted) !important; }
.jtbo-review-edit-btn {
  font-size: 12px !important; color: var(--jtbo-muted) !important;
  background: none !important; border: none !important; cursor: pointer !important;
  padding: 2px 6px !important; border-radius: 4px !important;
  text-decoration: underline !important; text-underline-offset: 2px;
  font-family: var(--jtbo-font) !important; box-shadow: none !important;
  text-transform: none !important;
}
.jtbo-review-edit-btn:hover { color: var(--jtbo-text) !important; }
.jtbo-review-sizes {
  display: flex !important; flex-wrap: wrap !important;
  gap: 6px !important; padding: 10px 16px !important;
}
.jtbo-review-size-chip {
  display: flex !important; align-items: center !important;
  gap: 6px !important; padding: 4px 10px !important;
  background: var(--jtbo-surface) !important;
  border: 1px solid var(--jtbo-border) !important;
  border-radius: 100px !important;
  font-size: 12px !important;
  white-space: nowrap;
}
.jtbo-review-size-chip strong { font-family: var(--jtbo-mono) !important; font-weight: 600 !important; min-width: 20px; text-align: right; }

/* ── Buttons ─────────────────────────────────────────── */
.jtbo-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 13px 22px !important;
  border-radius: var(--jtbo-radius) !important;
  font-family: var(--jtbo-font) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  border: 1.5px solid transparent !important;
  transition: background var(--jtbo-transition), transform 80ms ease, opacity var(--jtbo-transition) !important;
  -webkit-tap-highlight-color: transparent;
  text-decoration: none !important;
  white-space: nowrap;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.jtbo-btn:active { transform: scale(0.98) !important; }
.jtbo-btn:disabled { opacity: 0.45; cursor: not-allowed; transform: none !important; }

.jtbo-btn-primary {
  background: var(--jtbo-accent) !important;
  color: var(--jtbo-accent-inv) !important;
  width: 100% !important;
}
.jtbo-btn-primary:hover:not(:disabled) { background: #333 !important; }

.jtbo-btn-secondary {
  background: var(--jtbo-surface) !important;
  color: var(--jtbo-text) !important;
  border-color: var(--jtbo-border-dark) !important;
  width: 100% !important;
}
.jtbo-btn-secondary:hover:not(:disabled) { background: #f5f5f5 !important; }

.jtbo-btn-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
@media (min-width: 540px) {
  .jtbo-btn-group { flex-direction: row !important; }
}

/* ── Print button inside bulk order panel ────────────── */
.jtbo-print-btn-group { margin-top: 4px !important; }
.jtbo-btn-print {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: 100% !important;
  padding: 13px 20px !important;
  background: #e8581a !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--jtbo-radius) !important;
  cursor: pointer !important;
  font-family: var(--jtbo-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  transition: background 160ms ease, transform 80ms ease !important;
  -webkit-tap-highlight-color: transparent;
  box-shadow: none !important;
  text-decoration: none !important;
}
.jtbo-btn-print:hover { background: #c94610 !important; transform: translateY(-1px) !important; }
.jtbo-btn-print:active { transform: translateY(0) !important; }

/* ── Step 2 header nav ───────────────────────────────── */
.jtbo-step2-header {
  flex-wrap: wrap !important;
  gap: 8px 10px !important;
  align-items: center !important;
  margin-bottom: 16px !important;
}
.jtbo-step2-nav-group {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}
.jtbo-step2-nav-group--bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  margin-top: 4px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--jtbo-border) !important;
  margin-left: 0 !important;
}
.jtbo-step2-nav-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 13px !important;
  background: var(--jtbo-surface) !important;
  border: 1.5px solid var(--jtbo-border-dark) !important;
  border-radius: var(--jtbo-radius) !important;
  cursor: pointer !important;
  font-family: var(--jtbo-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--jtbo-text) !important;
  transition: background var(--jtbo-transition), border-color var(--jtbo-transition) !important;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.jtbo-step2-nav-btn:hover { background: #f0f0f0 !important; border-color: var(--jtbo-accent) !important; }
.jtbo-step2-review-btn { border-color: var(--jtbo-accent) !important; }
.jtbo-step2-review-btn:hover { background: var(--jtbo-accent) !important; color: var(--jtbo-accent-inv) !important; }

.jtbo-step2-back-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  color: #c0392b !important;
  border-radius: 50% !important;
  transition: background var(--jtbo-transition), transform 80ms ease !important;
  -webkit-tap-highlight-color: transparent;
  flex-shrink: 0 !important;
  position: relative;
  box-shadow: none !important;
}
.jtbo-step2-back-btn:hover { background: rgba(192,57,43,0.1) !important; transform: scale(1.1) !important; }



/* ── Success state ───────────────────────────────────── */
.jtbo-success-banner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 32px 16px !important;
  background: var(--jtbo-success-bg) !important;
  border: 1.5px solid #a8dfc0 !important;
  border-radius: var(--jtbo-radius-lg) !important;
  gap: 12px !important;
  animation: jtbo-fade-in 300ms ease;
}
.jtbo-success-icon {
  width: 48px !important; height: 48px !important;
  background: var(--jtbo-success) !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  color: #fff !important; font-size: 22px !important;
}
.jtbo-success-title { font-size: 17px !important; font-weight: 600 !important; color: var(--jtbo-text) !important; }
.jtbo-success-meta { font-size: 13px !important; color: var(--jtbo-muted) !important; }
.jtbo-success-actions {
  display: flex !important; gap: 10px !important; width: 100% !important;
  flex-direction: column !important;
}
@media (min-width: 540px) {
  .jtbo-success-actions { flex-direction: row !important; }
}

/* ── Error ───────────────────────────────────────────── */
.jtbo-error {
  padding: 12px 16px !important;
  background: #fff5f5 !important;
  border: 1px solid #fca5a5 !important;
  border-radius: var(--jtbo-radius) !important;
  font-size: 13px !important;
  color: var(--jtbo-danger) !important;
  margin-bottom: 12px !important;
  animation: jtbo-fade-in 200ms ease;
}

/* ── Animations ──────────────────────────────────────── */
@keyframes jtbo-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.jtbo-animate-in { animation: jtbo-fade-in 220ms ease; }

/* ── Standalone print button (outside bulk order) ────── */
.woocommerce-variation-add-to-cart {
  display: flex;
  flex-direction: row
}
.jtbo-print-btn-wrap.jtbo-print-standalone { margin-top: 10px !important;}
.jtbo-print-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 11px 20px !important;
  background: #e8581a !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--jtbo-radius) !important;
  cursor: pointer !important;
  font-family: var(--jtbo-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  transition: background 160ms ease !important;
  -webkit-tap-highlight-color: transparent;
  box-shadow: none !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.jtbo-print-btn:hover { background: #c94610 !important; }
.jtbo-print-btn-label { color: #fff !important; }
.jtbo-print-btn-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 20px;
  height: 20px;
  padding: 0 5px !important;
  background: rgba(255,255,255,.25) !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  margin-left: 4px !important;
}





.jtbo-print-standalone {
    display: none;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	z-index: 1;
}

.woocommerce div.product div.images {
	margin-bottom: 0em;
}/* End custom CSS */