
/* v1.5.1 theme independence hardening */
.bespokeit-builder,
.bespokeit-builder * ,
.bespokeit-upsell-modal,
.bespokeit-upsell-modal *{
  box-sizing:border-box;
}
.bespokeit-builder{
  isolation:isolate;
  position:relative;
  width:100%;
  max-width:100%;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.5;
  letter-spacing:normal;
  text-transform:none;
  color:var(--bespokeit-text);
}
.bespokeit-builder :where(h1,h2,h3,h4,h5,h6,p,ul,ol,li,label,strong,span,small,div){
  max-width:none;
  letter-spacing:normal;
  text-transform:none;
}
.bespokeit-builder :where(h1,h2,h3,h4,h5,h6){
  font-family:inherit;
  font-style:normal;
  font-weight:700;
  line-height:1.2;
}
.bespokeit-builder :where(p,ul,ol){
  margin:0;
}
.bespokeit-builder :where(ul,ol){
  padding-left:1.25rem;
}
.bespokeit-builder img{
  max-width:100%;
  height:auto;
  border:0;
  box-shadow:none;
}
.bespokeit-builder a{
  color:inherit;
  text-decoration:none;
  box-shadow:none;
}
.bespokeit-builder button,
.bespokeit-builder input,
.bespokeit-builder select,
.bespokeit-builder textarea{
  font:inherit;
  letter-spacing:normal;
  text-transform:none;
  color:inherit;
}
.bespokeit-builder button{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:none;
  box-shadow:none;
}
.bespokeit-builder input:not([type=checkbox]):not([type=radio]):not([type=file]),
.bespokeit-builder select,
.bespokeit-builder textarea{
  margin:0;
  max-width:100%;
  min-width:0;
}
.bespokeit-builder table,
.bespokeit-builder tr,
.bespokeit-builder td,
.bespokeit-builder th{
  border-collapse:collapse;
  background:transparent;
}
.bespokeit-builder .quantity,
.bespokeit-builder .reset_variations,
.bespokeit-builder .variations,
.bespokeit-builder .woocommerce-variation,
.bespokeit-builder .woocommerce-variation-add-to-cart{
  all:unset;
  display:contents;
}

/* Keep BespokeIT submit buttons renderable; only flatten native WooCommerce buttons inside the builder when needed */
.bespokeit-builder .single_add_to_cart_button:not(.bespokeit-submit-step){
  all:unset;
  display:contents;
}
.bespokeit-builder [class*="container"],
.bespokeit-builder [class*="row"],
.bespokeit-builder [class*="col-"]{
  max-width:none;
}
.bespokeit-builder .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;
}

.bespokeit-builder{margin:20px 0;border:1px solid var(--bespokeit-accent-soft);border-radius:24px;padding:22px;background:linear-gradient(180deg,var(--bespokeit-builder-bg) 0%,var(--bespokeit-builder-bg) 100%);box-shadow:0 10px 30px rgba(99,72,87,.06)}
.bespokeit-builder-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.bespokeit-title-wrap{display:flex;flex-direction:column;gap:4px}
.bespokeit-kicker{display:inline-flex;align-self:flex-start;padding:5px 10px;border-radius:999px;background:var(--bespokeit-accent-soft);border:1px solid var(--bespokeit-accent-soft);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bespokeit-text)}
.bespokeit-running-total{padding:12px 14px;border:1px solid var(--bespokeit-accent-soft);border-radius:16px;background:#fff;font-size:14px;min-width:160px}
.bespokeit-running-total strong{display:block;font-size:22px;line-height:1.2}
.bespokeit-builder h3,.bespokeit-builder h4{margin:0}
.bespokeit-builder h4{display:flex;align-items:center;gap:10px}
.bespokeit-step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:var(--bespokeit-accent);color:#fff;font-size:12px;font-weight:700;flex:0 0 24px}
.bespokeit-step-soft{background:var(--bespokeit-accent-soft);color:var(--bespokeit-text)}
.bespokeit-panel{margin-bottom:20px;padding:18px;border:1px solid #f0e8ec;border-radius:18px;background:#fff}
.bespokeit-panel:last-child{margin-bottom:0}
.bespokeit-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.bespokeit-section-rule,.bespokeit-muted{color:#7b6f76;font-size:12px}
.bespokeit-container-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.bespokeit-item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
.bespokeit-container-card input,.bespokeit-item-card input[type=checkbox],.bespokeit-item-card input[type=radio]{display:none}
.bespokeit-card-ui{display:flex;flex-direction:column;gap:8px;border:1px solid color-mix(in srgb, var(--bespokeit-accent) 20%, #ffffff);border-radius:18px;padding:12px;background:#fff;min-height:100%;cursor:pointer;transition:.2s ease;position:relative}
.bespokeit-container-card input:checked + .bespokeit-card-ui,.bespokeit-item-card input:checked + .bespokeit-card-ui{border-color:var(--bespokeit-accent);box-shadow:0 0 0 2px rgba(0,0,0,.06);transform:translateY(-1px)}
.bespokeit-item-card input:disabled + .bespokeit-card-ui{opacity:.55;cursor:not-allowed}
.bespokeit-image{display:flex;align-items:center;justify-content:center;height:88px;width:88px;background:var(--bespokeit-accent-soft);border-radius:18px;overflow:hidden;margin:0 auto}
.bespokeit-image.small{height:64px;width:64px;border-radius:16px}
.bespokeit-media,.bespokeit-image img{width:100%;height:100%;object-fit:contain;display:block}
.bespokeit-placeholder{font-size:13px;color:#666;text-align:center}.bespokeit-price{font-weight:700}
.bespokeit-capacity-status,.bespokeit-section-status{margin-top:10px;font-weight:600;font-size:13px}
.bespokeit-warning{color:var(--bespokeit-accent)}
.bespokeit-branding-preview img{max-width:180px;margin-top:10px;border-radius:10px;border:1px solid var(--bespokeit-accent-soft)}
.bespokeit-builder textarea,.bespokeit-builder input[type=file]{width:100%;max-width:100%;border-radius:12px}
.bespokeit-builder textarea{padding:10px;border:1px solid #d9cbd2;min-height:110px}
.bespokeit-invalid{border-left:4px solid var(--bespokeit-accent);padding-left:12px}.required{color:var(--bespokeit-accent)}
.bespokeit-variation-wrap{display:flex;flex-direction:column;gap:6px}
.bespokeit-variation-label{font-size:12px;color:#7b6f76}
.bespokeit-variation-select{display:block;width:100%;max-width:100%;padding:7px 10px;border:1px solid #d9cbd2;border-radius:10px;background:#fff;color:var(--bespokeit-text);font-size:13px}
.bespokeit-qty-wrap{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:2px}
.bespokeit-qty-label{font-size:12px;color:#7b6f76}.bespokeit-qty-input{display:block !important;width:70px;max-width:100%;padding:6px 8px;border:1px solid #d9cbd2;border-radius:10px;background:#fff}
.bespokeit-item-card-single .bespokeit-card-ui{justify-content:flex-start}
@media (max-width: 768px){
  .bespokeit-builder{padding:16px}
  .bespokeit-container-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bespokeit-item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bespokeit-running-total{width:100%}
  .bespokeit-image{height:76px;width:76px}
  .bespokeit-image.small{height:56px;width:56px}
  .bespokeit-qty-input{width:56px}
}


/* v0.5 floating total */
.bespokeit-running-total{position:fixed;right:18px;bottom:18px;z-index:9999;min-width:220px;box-shadow:0 14px 34px rgba(31,31,31,.18);border:1px solid color-mix(in srgb, var(--bespokeit-accent) 20%, #ffffff);background:rgba(255,255,255,.97);backdrop-filter:blur(8px)}
body.admin-bar .bespokeit-running-total{bottom:18px}
@media (max-width: 768px){
  .bespokeit-running-total{left:12px;right:12px;bottom:12px;min-width:0;border-radius:14px;padding:10px 12px}
  .bespokeit-running-total strong{font-size:20px}
}


/* v0.7 pro wizard */
.bespokeit-pro{position:relative;padding-top:18px;padding-bottom:90px}
.bespokeit-progress-shell{width:100%;margin-bottom:8px}
.bespokeit-progress-bar{height:8px;background:#f3e8ed;border-radius:999px;overflow:hidden;margin-bottom:12px}
.bespokeit-progress-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--bespokeit-accent), color-mix(in srgb, var(--bespokeit-accent) 65%, #000000))}
.bespokeit-step-nav{display:flex;gap:8px;flex-wrap:wrap}
.bespokeit-step-chip{appearance:none;border:1px solid var(--bespokeit-accent-soft);background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;line-height:1.2;cursor:pointer;color:var(--bespokeit-text);font-weight:600}
.bespokeit-step-chip.is-current{background:var(--bespokeit-accent);border-color:var(--bespokeit-accent);color:#fff}
.bespokeit-step-chip.is-complete{background:var(--bespokeit-accent-soft);border-color:color-mix(in srgb, var(--bespokeit-accent) 25%, #ffffff);color:#6e4f5d}
.bespokeit-panel{display:none}
.bespokeit-panel.is-current{display:block}
.bespokeit-step-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #f0e8ec}
.bespokeit-step-actions .button{min-width:110px;border-radius:12px}
.bespokeit-step-actions .alt{background:var(--bespokeit-accent);border-color:var(--bespokeit-accent);color:#fff}
.bespokeit-builder-head{align-items:flex-start}
.bespokeit-title-wrap h3{font-size:28px;line-height:1.15}
.bespokeit-panel h4{font-size:20px}
.bespokeit-card-ui strong{font-size:14px;line-height:1.3}
.bespokeit-item-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.bespokeit-running-total{border-radius:18px}
@media (max-width:768px){
  .bespokeit-title-wrap h3{font-size:22px}
  .bespokeit-panel h4{font-size:18px}
  .bespokeit-step-nav{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}
  .bespokeit-step-chip{white-space:nowrap}
  .bespokeit-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bespokeit-step-actions .button{flex:1}
}


.bespokeit-builder,.bespokeit-builder h3,.bespokeit-builder h4,.bespokeit-builder p,.bespokeit-builder strong,.bespokeit-builder label,.bespokeit-builder .bespokeit-muted{color:var(--bespokeit-text);}
.bespokeit-step-chip.is-current{background:var(--bespokeit-chip-active-bg)!important;border-color:var(--bespokeit-chip-active-bg)!important;color:var(--bespokeit-chip-active-text)!important;}
.bespokeit-progress-fill{background:linear-gradient(90deg,var(--bespokeit-accent), color-mix(in srgb, var(--bespokeit-accent) 65%, #000000));}
.bespokeit-panel,.bespokeit-running-total,.bespokeit-card-ui,.bespokeit-builder textarea{border-color:color-mix(in srgb, var(--bespokeit-accent) 18%, #e5e7eb);}
.bespokeit-builder{background:linear-gradient(180deg,var(--bespokeit-builder-bg) 0%, #fff 100%);}


.bespokeit-image.is-clickable{cursor:zoom-in;position:relative}
.bespokeit-image.is-clickable::after{content:'+';position:absolute;right:6px;bottom:6px;width:22px;height:22px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--bespokeit-text);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.bespokeit-image-modal{position:fixed;inset:0;background:rgba(17,24,39,.72);display:none;align-items:center;justify-content:center;padding:24px;z-index:100000}
.bespokeit-image-modal.is-open{display:flex}
.bespokeit-image-modal-dialog{position:relative;max-width:min(92vw,860px);max-height:90vh;background:#fff;border-radius:24px;padding:18px;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.bespokeit-image-modal-img{display:block;max-width:100%;max-height:calc(90vh - 90px);width:auto;height:auto;margin:0 auto;border-radius:16px;object-fit:contain}
.bespokeit-image-modal-caption{margin-top:10px;text-align:center;font-weight:600;color:var(--bespokeit-text)}
.bespokeit-image-modal-close{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:999px;border:0;background:rgba(17,24,39,.82);color:#fff;font-size:26px;line-height:1;cursor:pointer;z-index:2}
body.bespokeit-modal-open{overflow:hidden}
@media (max-width:768px){.bespokeit-image-modal{padding:14px}.bespokeit-image-modal-dialog{padding:14px;border-radius:18px}}


/* v0.7.6 selection overlap fix */
.bespokeit-container-card,.bespokeit-item-card{display:block;position:relative;margin:0;min-width:0}
.bespokeit-container-card > input[type=radio],
.bespokeit-item-card > input[type=radio],
.bespokeit-item-card > input[type=checkbox]{
  position:absolute !important;
  inset:auto auto auto -9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  margin:0 !important;
}
.bespokeit-container-grid,.bespokeit-item-grid{align-items:stretch}
.bespokeit-card-ui{height:100%;box-sizing:border-box;overflow:hidden}
.bespokeit-card-ui small,.bespokeit-card-ui .bespokeit-muted,.bespokeit-card-ui strong{word-break:break-word}
.bespokeit-container-grid > *, .bespokeit-item-grid > *{min-width:0}

/* v0.7.7 cart edit-link cleanup */
.woocommerce-cart .bespokeit-cart-edit-link{margin-top:2px;line-height:1.2}
.woocommerce-cart .bespokeit-cart-edit-link a,
.woocommerce-cart .bespokeit-cart-edit-link .bespokeit-edit-options{font-size:12px;font-style:italic;font-weight:400;text-decoration:none;display:inline-block}
.woocommerce-cart .cart_item .product-name .bespokeit-cart-edit-link + .variation a,
.woocommerce-cart .cart_item .product-name .bespokeit-cart-edit-link + small a,
.woocommerce-cart .cart_item .product-name .bespokeit-cart-edit-link + a{display:none !important}


/* v0.7.9 capacity guidance */
.bespokeit-capacity-status{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid color-mix(in srgb, var(--bespokeit-accent) 18%, #d9e5d1);
  border-radius:14px;
  background:#f8fbf5;
}
.bespokeit-capacity-line,.bespokeit-running-meta span{
  display:block;
  font-size:13px;
  line-height:1.4;
}
.bespokeit-capacity-help,.bespokeit-running-help{
  margin-top:6px;
  font-size:13px;
  font-weight:700;
}
.bespokeit-capacity-help.is-error,.bespokeit-running-help.is-error{color:#b42318}
.bespokeit-capacity-help.is-ok,.bespokeit-running-help.is-ok{color:#2f6f3e}
.bespokeit-capacity-help.is-muted,.bespokeit-running-help.is-muted{color:#6b7280}
.bespokeit-running-meta{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(107,114,128,.15);
}
.bespokeit-step-chip.is-disabled,
.bespokeit-next-step.is-disabled,
.single_add_to_cart_button:disabled{
  opacity:.55;
  cursor:not-allowed;
}


.bespokeit-capacity-status-inline{margin:12px 0 18px;}
.bespokeit-capacity-status{display:block;}
.bespokeit-capacity-line{display:block;}


/* v0.8.3 mobile usability improvements */
@media (max-width: 768px){
  .bespokeit-builder-head{display:block;margin-bottom:14px}
  .bespokeit-progress-shell{margin-bottom:12px}
  .bespokeit-title-wrap{margin-bottom:10px}
  .bespokeit-pro{padding-bottom:18px}
  .bespokeit-running-total{position:sticky;left:auto;right:auto;bottom:auto;top:calc(env(safe-area-inset-top,0px) + 8px);width:100%;margin-top:10px;z-index:25;box-shadow:0 8px 20px rgba(31,31,31,.10)}
  .bespokeit-container-grid{grid-template-columns:minmax(0,1fr)}
  .bespokeit-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bespokeit-card-ui{padding:12px}
  .bespokeit-panel{padding:14px;border-radius:16px}
  .bespokeit-step-nav{display:flex;overflow:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:6px;margin-right:-4px}
  .bespokeit-step-nav::-webkit-scrollbar{display:none}
  .bespokeit-step-chip{flex:0 0 auto}
  .bespokeit-running-meta{display:grid;grid-template-columns:1fr;gap:2px}
  .bespokeit-step-actions{position:sticky;bottom:0;background:#fff;padding:12px 0 0;margin-top:14px;z-index:15}
}
@media (max-width: 480px){
  .bespokeit-item-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .bespokeit-card-ui strong{font-size:13px}
  .bespokeit-price{font-size:16px}
  .bespokeit-running-total strong{font-size:18px}
}


/* v0.8.4 mobile 2-column layout */
@media (max-width: 768px){
  .bespokeit-container-grid,.bespokeit-item-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  .bespokeit-container-card,.bespokeit-item-card{min-width:0;}
  .bespokeit-card-ui{padding:10px !important;border-radius:14px;}
  .bespokeit-card-ui strong{font-size:13px;line-height:1.25;}
  .bespokeit-card-ui p,.bespokeit-card-ui small,.bespokeit-card-ui .bespokeit-muted{font-size:12px;line-height:1.35;}
  .bespokeit-price{font-size:15px;}
  .bespokeit-qty-wrap{display:block;}
  .bespokeit-qty-input{width:100%;margin-top:4px;}
}
@media (max-width: 480px){
  .bespokeit-container-grid,.bespokeit-item-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  .bespokeit-image{height:68px;width:68px;}
  .bespokeit-image.small{height:52px;width:52px;}
}


/* v0.8.4.1 stronger mobile two-column fit */
*,*::before,*::after{box-sizing:border-box;}
.bespokeit-builder{max-width:100%;overflow-x:hidden;}
.bespokeit-panel{max-width:100%;overflow:hidden;}
.bespokeit-container-grid,.bespokeit-item-grid{width:100%;max-width:100%;}
.bespokeit-container-grid > *, .bespokeit-item-grid > *{width:100%;max-width:100%;min-width:0;}
.bespokeit-container-card,.bespokeit-item-card,.bespokeit-card-ui{width:100%;max-width:100%;}
@media (max-width: 768px){
  .bespokeit-builder{padding:12px;}
  .bespokeit-panel{padding:12px;}
  .bespokeit-container-grid,.bespokeit-item-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;align-items:stretch;}
  .bespokeit-container-card,.bespokeit-item-card{display:block !important;align-self:stretch;}
  .bespokeit-card-ui{padding:10px !important;min-width:0 !important;}
  .bespokeit-image{height:62px !important;width:62px !important;}
  .bespokeit-image.small{height:48px !important;width:48px !important;}
  .bespokeit-card-ui strong{font-size:12px !important;line-height:1.25 !important;}
  .bespokeit-card-ui p,.bespokeit-card-ui small,.bespokeit-card-ui .bespokeit-muted{font-size:11px !important;line-height:1.3 !important;}
  .bespokeit-price{font-size:14px !important;line-height:1.2 !important;}
  .bespokeit-qty-label{font-size:11px !important;}
  .bespokeit-qty-input{font-size:12px !important;padding:5px 6px !important;}
}


/* v0.8.4.2 mobile section layout fix */
@media (max-width: 768px){
  .bespokeit-pro{padding-bottom:18px !important}
  .bespokeit-builder-head{margin-bottom:12px !important}
  .bespokeit-running-total{
    position:static !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 0 14px !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }
  .bespokeit-progress-shell{margin-bottom:12px !important}
  .bespokeit-step-nav{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    overflow:visible !important;
    flex-wrap:unset !important;
    padding-bottom:0 !important;
  }
  .bespokeit-step-chip{
    width:100% !important;
    min-height:42px !important;
    white-space:normal !important;
    text-align:center !important;
    border-radius:12px !important;
    padding:9px 8px !important;
    font-size:11px !important;
    line-height:1.2 !important;
  }
  .bespokeit-panel{padding:14px !important;border-radius:16px !important}
  .bespokeit-section-head{margin-bottom:10px !important}
  .bespokeit-builder textarea,
  .bespokeit-builder input[type=file]{font-size:12px !important}
  .bespokeit-step-actions{
    position:sticky;
    bottom:0;
    z-index:5;
    background:#fff;
    margin-left:-14px;
    margin-right:-14px;
    margin-bottom:-14px;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom));
    border-top:1px solid #ece3e8;
    border-radius:0 0 16px 16px;
  }
}
@media (max-width: 420px){
  .bespokeit-step-nav{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .bespokeit-step-chip{font-size:10px !important;padding:8px 6px !important}
  .bespokeit-builder{padding:12px !important}
  .bespokeit-panel{padding:12px !important}
}


/* v0.8.5 last-step action */
.bespokeit-submit-step.is-disabled{opacity:.55;cursor:not-allowed;}


/* v0.8.7 hide duplicate native WooCommerce action when builder is present */
form.cart.bespokeit-has-builder > .single_add_to_cart_button,
form.cart.bespokeit-has-builder .single_add_to_cart_button:not(.bespokeit-submit-step){
  display:none !important;
}

.bespokeit-type-switcher-wrap{margin-top:10px}.bespokeit-type-switcher{min-width:220px;padding:8px 10px;border-radius:10px;border:1px solid #d8dfd0;background:#fff}.bespokeit-hidden{display:none!important;}

.bespokeit-variation-select:disabled{opacity:.55;background:#f6f7f7;cursor:not-allowed}


/* v1.0.2 UX polish */
.bespokeit-subtitle{margin:-6px 0 8px;color:#6b7280;font-size:14px}
.bespokeit-inline-notice{margin:10px 0 0;padding:10px 12px;border:1px solid #f2c3c3;background:#fff7f7;color:#9f1239;border-radius:12px;font-size:13px;font-weight:600}
.bespokeit-item-card input:not(:checked) ~ .bespokeit-card-ui .bespokeit-qty-wrap{display:none}
.bespokeit-item-card input:not(:checked) ~ .bespokeit-card-ui .bespokeit-variation-wrap{opacity:.7}
.bespokeit-item-card input:checked ~ .bespokeit-card-ui .bespokeit-image.is-clickable::after{content:'+';width:22px;height:22px;padding:0;font-size:14px}
.bespokeit-image.is-clickable::after{content:'+';width:22px;height:22px;padding:0;font-size:14px;font-weight:700}
.bespokeit-item-card input:checked ~ .bespokeit-card-ui{box-shadow:0 0 0 2px color-mix(in srgb, var(--bespokeit-accent) 18%, #ffffff), 0 10px 24px rgba(0,0,0,.08)}
.bespokeit-step-actions .alt.single_add_to_cart_button,.bespokeit-step-actions .alt.bespokeit-next-step{letter-spacing:.01em}
.bespokeit-variation-label{display:block;margin-bottom:6px;font-weight:600}
.bespokeit-variation-select{width:100%;border-radius:10px;padding:10px 12px}


/* BespokeIT Upsell Engine */
.bespokeit-upsell-box{margin:18px 0 8px;padding:16px;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:#fff}
.bespokeit-upsell-head{margin-bottom:12px}
.bespokeit-upsell-title{margin:0 0 4px;font-size:18px;line-height:1.25}
.bespokeit-upsell-subtitle{margin:0;color:#666;font-size:13px}
.bespokeit-upsell-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.bespokeit-upsell-item{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid rgba(0,0,0,.06);border-radius:12px;background:#fffdf9}
.bespokeit-upsell-thumb{display:flex;align-items:center;justify-content:center;min-height:90px}
.bespokeit-upsell-thumb img{max-width:88px;max-height:88px;width:auto;height:auto}
.bespokeit-upsell-meta strong{display:block;font-size:14px;line-height:1.3;margin-bottom:4px}
.bespokeit-upsell-price{display:block;font-size:13px;color:#666}
.bespokeit-upsell-add{align-self:flex-start}
@media (max-width: 768px){
  .bespokeit-upsell-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bespokeit-upsell-item{padding:8px}
}


/* BespokeIT Upsell Engine v1.1.8 */
.bespokeit-upsell-box{margin:18px 0 8px;padding:16px;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:#fff}
.bespokeit-upsell-head{margin-bottom:12px}
.bespokeit-upsell-title{margin:0 0 4px;font-size:18px;line-height:1.25}
.bespokeit-upsell-subtitle{margin:0;color:#666;font-size:13px}
.bespokeit-upsell-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.bespokeit-upsell-item{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid rgba(0,0,0,.06);border-radius:12px;background:#fffdf9}
.bespokeit-upsell-thumb{display:flex;align-items:center;justify-content:center;min-height:90px}
.bespokeit-upsell-thumb img{max-width:88px;max-height:88px;width:auto;height:auto}
.bespokeit-upsell-meta strong{display:block;font-size:14px;line-height:1.3;margin-bottom:4px}
.bespokeit-upsell-price{display:block;font-size:13px;color:#666}
.bespokeit-upsell-add,.bespokeit-upsell-choose{align-self:flex-start}
@media (max-width: 768px){
  .bespokeit-upsell-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bespokeit-upsell-item{padding:8px}
}

/* BespokeIT Upsell variable options v1.2.1 */
.bespokeit-upsell-variation-wrap{display:flex;flex-direction:column;gap:4px}
.bespokeit-upsell-variation-label{font-size:12px;color:#666}
.bespokeit-upsell-variation-select{width:100%;max-width:100%}

/* BespokeIT Guided Upsell popup v1.3.7.8 */
.bespokeit-upsell-modal{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;padding:20px}
.bespokeit-upsell-modal__backdrop{position:absolute;inset:0;background:rgba(17,24,39,.56);backdrop-filter:blur(4px)}
.bespokeit-upsell-modal__dialog{position:relative;z-index:1;width:min(1100px,92vw);max-height:min(88vh,800px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:26px;box-shadow:0 28px 64px rgba(15,23,42,.24)}
.bespokeit-upsell-modal__close{position:absolute;top:16px;right:16px;width:42px;height:42px;border:0;border-radius:12px;background:#f3f4f6;color:#0f2d59;font-size:28px;line-height:1;cursor:pointer}
.bespokeit-upsell-modal__header{padding:24px 24px 14px;border-bottom:1px solid rgba(17,24,39,.08)}
.bespokeit-upsell-modal__eyebrow{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#f6f7f2;color:#5f7a22;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.bespokeit-upsell-modal__title{margin:12px 0 6px;font-size:28px;line-height:1.1;color:#1f2937}
.bespokeit-upsell-modal__subtitle{margin:0;max-width:58ch;font-size:15px;line-height:1.5;color:#6b7280}
.bespokeit-upsell-modal__body{padding:20px 24px 8px;overflow:auto}
.bespokeit-upsell-modal__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.bespokeit-upsell-modal__card{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:14px;border:1px solid rgba(17,24,39,.08);border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#fbfbf9 100%);box-shadow:0 8px 18px rgba(15,23,42,.04);min-width:0}
.bespokeit-upsell-modal__card.is-added{opacity:.65}
.bespokeit-upsell-modal__media{width:100%;height:96px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#f8fafc;overflow:hidden}
.bespokeit-upsell-modal__media img{max-width:88px;max-height:88px;width:auto;height:auto;object-fit:contain}
.bespokeit-upsell-modal__placeholder{width:100%;height:100%;background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}
.bespokeit-upsell-modal__meta{min-width:0;display:flex;flex-direction:column;gap:4px}
.bespokeit-upsell-modal__item-title{margin:0;font-size:16px;line-height:1.3;color:#111827;min-height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bespokeit-upsell-modal__price{font-size:15px;font-weight:700;color:#6b4f1d}
.bespokeit-upsell-modal__add{width:100%;min-width:0;padding:11px 12px;border:0;border-radius:12px;background:#274b7a;color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease;box-shadow:0 8px 16px rgba(39,75,122,.18)}
.bespokeit-upsell-modal__add:hover,.bespokeit-upsell-modal__button:hover{transform:translateY(-1px)}
.bespokeit-upsell-modal__add:disabled{cursor:default;opacity:.7;box-shadow:none}
.bespokeit-upsell-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 24px 20px;border-top:1px solid rgba(17,24,39,.08);background:#fff}
.bespokeit-upsell-modal__note{font-size:14px;line-height:1.45;color:#6b7280}
.bespokeit-upsell-modal__actions{display:flex;gap:10px;flex-wrap:wrap}
.bespokeit-upsell-modal__button{padding:12px 18px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;border:1px solid transparent}
.bespokeit-upsell-modal__button.is-secondary{background:#fff;color:#374151;border-color:#d1d5db}
.bespokeit-upsell-modal__button.is-primary{background:#dd7c40;color:#fff;box-shadow:0 8px 16px rgba(221,124,64,.18)}
@media (max-width: 860px){
  .bespokeit-upsell-modal{padding:14px}
  .bespokeit-upsell-modal__dialog{width:min(760px,100%);max-height:92vh;border-radius:22px}
  .bespokeit-upsell-modal__header{padding:20px 18px 14px}
  .bespokeit-upsell-modal__title{font-size:24px}
  .bespokeit-upsell-modal__body{padding:16px 18px 8px}
  .bespokeit-upsell-modal__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .bespokeit-upsell-modal__card{padding:12px;border-radius:16px}
  .bespokeit-upsell-modal__media{height:84px}
  .bespokeit-upsell-modal__media img{max-width:72px;max-height:72px}
  .bespokeit-upsell-modal__item-title{font-size:15px;min-height:38px}
  .bespokeit-upsell-modal__footer{padding:14px 18px 18px;align-items:stretch;flex-direction:column}
  .bespokeit-upsell-modal__actions{width:100%}
  .bespokeit-upsell-modal__button{flex:1 1 auto;width:100%}
}
@media (max-width: 480px){
  .bespokeit-upsell-modal{padding:8px}
  .bespokeit-upsell-modal__dialog{width:100%;max-height:94vh;border-radius:18px}
  .bespokeit-upsell-modal__close{top:10px;right:10px;width:38px;height:38px}
  .bespokeit-upsell-modal__header{padding:16px 14px 12px}
  .bespokeit-upsell-modal__eyebrow{font-size:11px}
  .bespokeit-upsell-modal__title{margin-top:10px;font-size:22px;padding-right:34px}
  .bespokeit-upsell-modal__subtitle{font-size:13px}
  .bespokeit-upsell-modal__body{padding:12px 14px 6px}
  .bespokeit-upsell-modal__list{grid-template-columns:1fr;gap:10px}
  .bespokeit-upsell-modal__card{padding:12px;gap:8px}
  .bespokeit-upsell-modal__media{height:76px}
  .bespokeit-upsell-modal__media img{max-width:64px;max-height:64px}
  .bespokeit-upsell-modal__item-title{font-size:15px;min-height:0}
  .bespokeit-upsell-modal__add{padding:10px 12px;font-size:13px}
  .bespokeit-upsell-modal__footer{padding:12px 14px 14px;gap:10px}
  .bespokeit-upsell-modal__note{font-size:12px}
}


/* v1.4.0 cosmetic: move Add/Added action to bottom button area */
.bespokeit-item-card .bespokeit-card-ui{
  align-items:stretch;
}
.bespokeit-item-card .bespokeit-card-ui > strong{
  min-height:2.5em;
}
.bespokeit-item-card .bespokeit-card-ui::after{
  content:'Add';
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:auto;
  width:100%;
  min-height:40px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--bespokeit-accent) 28%, #ffffff);
  background:#fff;
  color:var(--bespokeit-text);
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  text-transform:none;
  box-sizing:border-box;
}
.bespokeit-item-card input:checked ~ .bespokeit-card-ui::after{
  content:'Added ✓';
  background:var(--bespokeit-accent);
  border-color:var(--bespokeit-accent);
  color:#fff;
}
.bespokeit-item-card .bespokeit-variation-wrap,
.bespokeit-item-card .bespokeit-qty-wrap{
  margin-bottom:8px;
}
.bespokeit-item-card .bespokeit-price{
  margin-bottom:8px;
}
@media (max-width: 768px){
  .bespokeit-item-card .bespokeit-card-ui::after{
    min-height:38px;
    padding:9px 10px;
    font-size:12px;
  }
}


/* v1.4.0 cosmetic polish: Flatsome-style bottom action + clearer variation field */
.bespokeit-item-card .bespokeit-card-ui::after{
  background: var(--bespokeit-accent);
  border-color: var(--bespokeit-accent);
  color: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}
.bespokeit-item-card input:checked ~ .bespokeit-card-ui::after{
  background: #76992a;
  border-color: #76992a;
  color:#fff;
}

.bespokeit-item-card .bespokeit-variation-wrap{
  width:100%;
  margin: 6px 0 12px;
}
.bespokeit-item-card .bespokeit-variation-wrap label{
  display:block;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--bespokeit-text);
  opacity: .9;
}
.bespokeit-item-card .bespokeit-variation-select,
.bespokeit-item-card select.bespokeit-variation-select{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  height:46px;
  padding: 0 42px 0 14px;
  border:1px solid rgba(121,153,42,.28);
  border-radius:14px;
  background:#fff;
  color: var(--bespokeit-text);
  font-size:14px;
  line-height:1.3;
  white-space:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  box-sizing:border-box;
  appearance:none;
  -webkit-appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat:no-repeat;
}
.bespokeit-item-card .bespokeit-variation-select option{
  color:#333;
}
.bespokeit-item-card .bespokeit-card-ui{
  gap: 10px;
}
.bespokeit-item-card .bespokeit-price{
  line-height:1.15;
  word-break:break-word;
}
.bespokeit-item-card .bespokeit-qty-wrap{
  width:100%;
}
.bespokeit-item-card .bespokeit-qty-wrap input{
  width:100%;
  box-sizing:border-box;
}

@media (max-width: 768px){
  .bespokeit-item-card .bespokeit-variation-select,
  .bespokeit-item-card select.bespokeit-variation-select{
    height:44px;
    padding-right:38px;
    font-size:13px;
  }
  .bespokeit-item-card .bespokeit-card-ui::after{
    min-height:40px;
  }
}


/* v1.4.0 cosmetic: container cards use Select wording */
.bespokeit-container-card .bespokeit-card-ui{
  align-items:stretch;
}
.bespokeit-container-card .bespokeit-card-ui::after{
  content:'Select';
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:auto;
  width:100%;
  min-height:40px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--bespokeit-accent);
  background: var(--bespokeit-accent);
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  text-transform:none;
  box-sizing:border-box;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
}
.bespokeit-container-card input:checked + .bespokeit-card-ui::after{
  content:'Selected ✓';
  background:#76992a;
  border-color:#76992a;
  color:#fff;
}


/* v1.4.0 remove 'Bespoke Hamper' title */
.bespokeit-section-title,
.bespokeit-builder-section-title{
  display:none !important;
}


/* v1.5.1 builder layout normalization */
.bespokeit-builder .bespokeit-panel,
.bespokeit-builder .bespokeit-card-ui,
.bespokeit-builder .bespokeit-running-total,
.bespokeit-builder .bespokeit-upsell-card{
  box-shadow:none;
}
.bespokeit-builder .bespokeit-card-ui{
  width:100%;
}
.bespokeit-builder .bespokeit-container-grid,
.bespokeit-builder .bespokeit-item-grid{
  width:100%;
  align-items:stretch;
}
.bespokeit-builder .bespokeit-variation-select,
.bespokeit-builder .bespokeit-qty-input,
.bespokeit-builder textarea,
.bespokeit-builder input[type=file]{
  box-shadow:none !important;
}
.bespokeit-builder .bespokeit-variation-select:focus,
.bespokeit-builder .bespokeit-qty-input:focus,
.bespokeit-builder textarea:focus{
  outline:2px solid color-mix(in srgb, var(--bespokeit-accent) 45%, white);
  outline-offset:1px;
}
.bespokeit-builder .bespokeit-section-head,
.bespokeit-builder .bespokeit-builder-head{
  width:100%;
}
.bespokeit-builder .bespokeit-image,
.bespokeit-builder .bespokeit-image.small{
  flex-shrink:0;
}
.bespokeit-builder .bespokeit-running-total *,
.bespokeit-builder .bespokeit-panel *,
.bespokeit-builder .bespokeit-card-ui *{
  word-break:normal;
}
@media (max-width: 768px){
  .bespokeit-builder{
    font-size:15px;
  }
}


/* v1.5.2 submit button visibility fix */
.bespokeit-step-actions .button,
.bespokeit-step-actions .button.alt,
.bespokeit-step-actions .single_add_to_cart_button.bespokeit-submit-step{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 18px;
  border:1px solid var(--bespokeit-accent);
  border-radius:12px;
  background:#fff;
  color:var(--bespokeit-text);
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  text-align:center;
  text-decoration:none;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
}
.bespokeit-step-actions .button.alt,
.bespokeit-step-actions .single_add_to_cart_button.bespokeit-submit-step{
  background:var(--bespokeit-accent);
  color:#fff;
}
.bespokeit-step-actions .button[disabled],
.bespokeit-step-actions .single_add_to_cart_button.bespokeit-submit-step[disabled],
.bespokeit-step-chip[disabled]{
  opacity:.55;
  cursor:not-allowed;
  pointer-events:none;
}
