.ybo-upload{margin:18px 0}.ybo-upload__head{display:flex;flex-direction:column;gap:4px;margin-bottom:9px}.ybo-upload__head strong{font-size:15px}.ybo-upload__head span{font-size:13px;opacity:.68}.ybo-dropzone{border:1.5px dashed #cfd3da;border-radius:var(--ybo-radius);padding:16px 18px;display:flex;align-items:center;gap:10px;cursor:pointer;background:#fafafa;transition:.18s ease}.ybo-dropzone:hover,.ybo-dropzone.has-file{border-color:var(--ybo-accent);background:#f7f8ff}.ybo-dropzone input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.ybo-dropzone__icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #e2e4e9;font-weight:700}.ybo-dropzone__text{font-weight:650}.ybo-dropzone small{margin-left:auto;opacity:.6;font-size:11px}.ybo-file-name{font-size:12px;margin-top:7px;font-weight:600;color:var(--ybo-accent)}
.ybo-action-row{display:flex;align-items:stretch;gap:var(--ybo-gap);width:100%;margin-top:0}.ybo-action-row .e-atc-qty-button-holder{display:flex!important;align-items:stretch;gap:10px;flex:1;margin:0!important}.ybo-action-row .e-atc-qty-button-holder .single_add_to_cart_button{flex:1!important;margin:0!important;min-height:54px}.ybo-action-row #lumise-customize-button,.ybo-action-row .lumise-customize-button{flex:1;display:flex!important;align-items:center;justify-content:center;margin:0!important;min-height:54px;border-radius:var(--ybo-radius)!important}.ybo-action-row .quantity{margin:0!important}
.ybo-bulk-launch-wrap{margin:12px 0 18px}.ybo-bulk-trigger{width:100%;min-height:50px;border:1px solid #111!important;background:#fff!important;color:#111!important;font-weight:700!important;border-radius:var(--ybo-radius)!important}.ybo-bulk-trigger:hover{background:#111!important;color:#fff!important}
body.ybo-modal-open{overflow:hidden}.ybo-modal{position:fixed;inset:0;z-index:999999;display:none}.ybo-modal.is-open{display:block}.ybo-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(2px)}.ybo-modal__dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(980px,calc(100vw - 30px));max-height:88vh;background:#fff;border-radius:14px;box-shadow:0 28px 80px rgba(0,0,0,.28);overflow:hidden}.ybo-modal__close{position:absolute;right:14px;top:12px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:#f2f3f5;font-size:25px;line-height:1;cursor:pointer}.ybo-modal__close:hover{background:#e7e8eb}
.ybo-bulk{margin:0;background:#fff;overflow:hidden}.ybo-bulk__header{padding:22px 70px 18px 24px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #eceef2;background:#fbfbfc}.ybo-bulk__header h3{margin:0 0 4px;font-size:22px}.ybo-bulk__header p{margin:0;opacity:.7;font-size:13px;max-width:600px}.ybo-bulk__summary{min-width:82px;text-align:right}.ybo-bulk__summary span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.58}.ybo-bulk__summary strong{font-size:28px;line-height:1.1}.ybo-bulk__table-wrap{overflow:auto;max-height:48vh}.ybo-bulk__table{width:100%;border-collapse:collapse;margin:0!important}.ybo-bulk__table th,.ybo-bulk__table td{padding:12px 15px;border-bottom:1px solid #eef0f3;text-align:left;vertical-align:middle}.ybo-bulk__table th{font-size:11px;text-transform:uppercase;letter-spacing:.055em;background:#fff;white-space:nowrap;position:sticky;top:0;z-index:1}.ybo-bulk__table tr:last-child td{border-bottom:0}.ybo-col-image{width:72px}.ybo-col-image img{width:52px!important;height:52px!important;object-fit:contain;border:1px solid #eceef1;border-radius:6px;background:#f8f8f8}.ybo-col-qty{width:92px;text-align:right!important}.ybo-col-price{width:110px;white-space:nowrap;font-weight:700}.ybo-bulk-qty{width:74px!important;min-height:42px!important;text-align:center;border:1px solid #d7d9de!important;border-radius:6px!important;padding:6px!important}.ybo-bulk-qty:focus{border-color:var(--ybo-accent)!important;box-shadow:0 0 0 2px rgba(56,88,233,.12)!important;outline:0}.ybo-attrs{display:flex;gap:8px;flex-wrap:wrap}.ybo-attrs span{display:flex;flex-direction:column;gap:1px;background:#f7f7f8;border-radius:5px;padding:5px 8px}.ybo-attrs small{font-size:10px;opacity:.58}.ybo-attrs strong{font-size:12px}.ybo-stock .stock{margin:0!important;font-size:12px}.ybo-bulk-upload{padding:16px 20px;border-top:1px solid #eceef2;background:#fff}.ybo-bulk-upload .ybo-dropzone{padding:12px 14px}.ybo-bulk__footer{padding:15px 20px;border-top:1px solid #eceef2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:#fbfbfc}.ybo-bulk__estimate{display:flex;flex-direction:column;min-width:140px}.ybo-bulk__estimate span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;opacity:.58}.ybo-bulk__estimate strong{font-size:20px}.ybo-bulk-add{min-height:48px!important;padding:0 22px!important;background:var(--ybo-accent)!important;border-color:var(--ybo-accent)!important;border-radius:var(--ybo-radius)!important;white-space:nowrap}.ybo-bulk-status{font-size:13px;font-weight:600}.ybo-bulk-status.is-error{color:#b42318}.ybo-bulk-status.is-success{color:#18794e}
@media(max-width:650px){.ybo-dropzone{align-items:flex-start;flex-wrap:wrap}.ybo-dropzone small{width:100%;margin-left:40px}.ybo-action-row{flex-direction:column}.ybo-action-row .e-atc-qty-button-holder{width:100%}.ybo-action-row #lumise-customize-button,.ybo-action-row .lumise-customize-button{width:100%}.ybo-modal__dialog{width:calc(100vw - 16px);max-height:94vh;border-radius:10px}.ybo-bulk__header{padding:16px 54px 14px 16px}.ybo-bulk__summary{min-width:64px}.ybo-bulk__table-wrap{max-height:48vh}.ybo-bulk__table th,.ybo-bulk__table td{padding:10px 9px}.ybo-col-image,.ybo-stock{display:none}.ybo-bulk__footer{grid-template-columns:1fr;align-items:stretch}.ybo-bulk-add{width:100%}}

/* v1.2 design previews + dual tier pricing */
.ybo-design-preview{display:none;margin-top:10px;align-items:center;gap:10px;max-width:100%}.ybo-design-preview.is-image,.ybo-design-preview.is-file{display:flex}.ybo-design-preview img{display:block;width:86px!important;height:86px!important;max-width:86px!important;object-fit:contain;border:1px solid #e2e5ea;border-radius:8px;background:#fff;padding:4px}.ybo-design-preview>span:last-child{font-size:12px;font-weight:650;overflow-wrap:anywhere}.ybo-file-badge{display:inline-grid;place-items:center;min-width:52px;height:52px;padding:0 8px;border-radius:7px;background:#f1f3f6;border:1px solid #dfe3e8;font-size:10px;font-weight:800;letter-spacing:.06em}
.ybo-saved-design{display:flex!important;align-items:center;gap:9px;text-decoration:none!important;margin-top:5px;max-width:240px}.ybo-saved-design img{display:block!important;width:58px!important;height:58px!important;max-width:58px!important;object-fit:contain!important;border:1px solid #e1e4e8;border-radius:6px;background:#fff;padding:3px}.ybo-saved-design span{font-size:12px;line-height:1.25;overflow-wrap:anywhere}.ybo-order-design-preview{margin:8px 0 4px}.ybo-order-design-preview .ybo-saved-design img{width:80px!important;height:80px!important;max-width:80px!important}
.ybo-col-price del{display:block;font-size:12px;font-weight:500;opacity:.55;line-height:1.2}.ybo-col-price ins{display:block;text-decoration:none;font-weight:800;line-height:1.3}.ybo-col-price del .amount,.ybo-col-price ins .amount{white-space:nowrap}
@media(max-width:650px){.ybo-design-preview img{width:70px!important;height:70px!important;max-width:70px!important}.ybo-saved-design{max-width:180px}.ybo-saved-design img{width:50px!important;height:50px!important;max-width:50px!important}.ybo-modal__dialog{top:8px;bottom:8px;transform:translateX(-50%);max-height:none;height:auto}.ybo-bulk{height:100%;display:flex;flex-direction:column}.ybo-bulk__table-wrap{flex:1;max-height:none;min-height:0}.ybo-bulk-upload{flex:0 0 auto;padding:12px}.ybo-bulk__footer{flex:0 0 auto;padding:12px}.ybo-bulk__header h3{font-size:18px}.ybo-bulk__header p{font-size:12px}.ybo-col-price{width:88px}.ybo-col-price del{font-size:10px}.ybo-col-price ins{font-size:13px}.ybo-bulk-qty{width:62px!important}.ybo-attrs{gap:5px}.ybo-attrs span{padding:4px 6px}.ybo-attrs strong{font-size:11px}}
@media(max-width:420px){.ybo-bulk__table th,.ybo-bulk__table td{padding:8px 6px}.ybo-bulk__header{padding:13px 48px 11px 12px}.ybo-bulk-upload .ybo-dropzone small{margin-left:0}.ybo-bulk-upload .ybo-dropzone{padding:10px}.ybo-bulk__estimate strong{font-size:18px}.ybo-col-price{width:76px}.ybo-col-qty{width:68px}.ybo-bulk-qty{width:56px!important;min-height:38px!important}}

/* v1.3 modal sizing: table scrolls, upload stays compact, totals/actions always visible */
.ybo-modal__dialog{display:flex;flex-direction:column;height:min(820px,88vh);max-height:88vh}
.ybo-bulk{height:100%;min-height:0;display:flex;flex-direction:column}
.ybo-bulk__header{flex:0 0 auto}
.ybo-bulk__table-wrap{flex:1 1 auto;min-height:160px;max-height:none;overflow:auto}
.ybo-bulk-upload{flex:0 0 auto;padding:12px 20px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:6px;align-items:center}
.ybo-bulk-upload .ybo-upload__head{grid-column:1 / -1;margin:0 0 2px}
.ybo-bulk-upload .ybo-dropzone{grid-column:1;padding:10px 12px;min-height:54px}
.ybo-bulk-upload .ybo-file-name{display:none}
.ybo-bulk-upload .ybo-design-preview{grid-column:2;grid-row:2;margin:0;max-width:210px;min-width:0}
.ybo-bulk-upload .ybo-design-preview img{width:48px!important;height:48px!important;max-width:48px!important;border-radius:6px;padding:2px}
.ybo-bulk-upload .ybo-design-preview>span:last-child{max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ybo-bulk-upload .ybo-file-badge{min-width:44px;height:44px}
.ybo-bulk__footer{position:relative;z-index:5;flex:0 0 auto;min-height:78px;background:#fbfbfc;box-shadow:0 -8px 22px rgba(20,24,32,.05)}
.ybo-bulk__estimate strong{white-space:nowrap}
.ybo-bulk-add{display:inline-flex!important;align-items:center;justify-content:center;min-width:198px}
.ybo-col-price del{order:1}.ybo-col-price ins{order:2}
.ybo-col-price[data-ybo-price]{font-variant-numeric:tabular-nums}
.ybo-col-price[data-ybo-price] del{display:block!important;font-size:11px!important;line-height:1.1;margin-bottom:2px;opacity:.5}
.ybo-col-price[data-ybo-price] ins{display:block!important;font-size:16px!important;line-height:1.15;text-decoration:none!important;font-weight:800!important}

@media(max-width:650px){
  .ybo-modal__dialog{top:6px;bottom:6px;height:auto;max-height:none;width:calc(100vw - 12px);transform:translateX(-50%)}
  .ybo-bulk__header{padding:13px 48px 11px 12px}
  .ybo-bulk__table-wrap{min-height:120px}
  .ybo-bulk-upload{padding:10px 12px;grid-template-columns:minmax(0,1fr) auto;column-gap:8px}
  .ybo-bulk-upload .ybo-upload__head span{display:none}
  .ybo-bulk-upload .ybo-dropzone{padding:8px 10px;min-height:48px}
  .ybo-bulk-upload .ybo-dropzone small{display:none}
  .ybo-bulk-upload .ybo-design-preview{max-width:96px}
  .ybo-bulk-upload .ybo-design-preview img{width:42px!important;height:42px!important;max-width:42px!important}
  .ybo-bulk-upload .ybo-design-preview>span:last-child{display:none}
  .ybo-bulk__footer{display:grid;grid-template-columns:1fr auto;gap:8px 10px;padding:10px 12px;min-height:68px}
  .ybo-bulk__estimate{min-width:0}
  .ybo-bulk__estimate span{font-size:9px}
  .ybo-bulk__estimate strong{font-size:17px}
  .ybo-bulk-status{grid-column:1 / -1;grid-row:2;font-size:11px;min-height:0}
  .ybo-bulk-add{grid-column:2;grid-row:1;min-width:145px;width:auto!important;min-height:44px!important;padding:0 13px!important;font-size:12px!important}
  .ybo-col-price[data-ybo-price] del{font-size:9px!important}
  .ybo-col-price[data-ybo-price] ins{font-size:13px!important}
}
@media(max-width:420px){
  .ybo-bulk-upload{grid-template-columns:1fr auto}
  .ybo-bulk__footer{grid-template-columns:minmax(90px,1fr) auto}
  .ybo-bulk-add{min-width:132px;padding:0 10px!important}
}


/* v1.4 product quantity total */
.ybo-product-total{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 10px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:var(--ybo-radius);background:#fafafa}
.ybo-product-total__label{font-size:13px;font-weight:700}
.ybo-product-total__price{display:flex;align-items:baseline;gap:8px;font-size:18px;line-height:1.2;white-space:nowrap}
.ybo-product-total__price del{font-size:13px;font-weight:500;opacity:.55}
.ybo-product-total__price ins{text-decoration:none;font-size:19px;font-weight:800}
@media(max-width:650px){.ybo-product-total{padding:10px 12px;margin:12px 0 9px}.ybo-product-total__price{font-size:16px}.ybo-product-total__price ins{font-size:17px}}
