.ej-b2b,.ej-b2b *{box-sizing:border-box}.ej-b2b{width:100%;max-width:100%;clear:both;border:1px solid #e5e7eb;border-radius:20px;padding:20px;margin:24px 0;background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.08);overflow:hidden}.ej-b2b h3{margin:0 0 8px;color:#0d3b27;font-size:26px;line-height:1.18;font-weight:800}.ej-muted,.ej-help{color:#667085;margin-top:0;line-height:1.55}.ej-help{font-size:13px;margin:7px 0}.ej-b2b-head{margin-bottom:14px}.ej-action-strip,.ej-bottom-actions{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.ej-quote-btn,.ej-wa-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:12px 18px!important;border-radius:999px!important;font-weight:800!important;text-transform:none!important;letter-spacing:.01em!important;line-height:1.2!important;white-space:normal!important;text-align:center!important;text-decoration:none!important;box-shadow:0 8px 20px rgba(0,0,0,.08)!important}.ej-quote-btn{background:#0d3b27!important;color:#fff!important;border:1px solid #0d3b27!important}.ej-quote-btn:hover{background:#092d1d!important;color:#fff!important;transform:translateY(-1px)}.ej-wa-btn{background:#25d366!important;color:#07351a!important;border:1px solid #25d366!important}.ej-wa-btn:hover{background:#1fc15c!important;color:#07351a!important;transform:translateY(-1px)}.ej-action-strip .button{flex:1 1 180px}.ej-moq-box{padding:14px;background:#f8fbf6;border:1px solid #e0efd8;border-radius:16px;margin:14px 0 18px}.ej-progress{height:12px;background:#edf2ed;border-radius:999px;overflow:hidden}.ej-progress-bar{height:100%;background:#8CBB66;width:0;transition:width .2s ease}.ej-counter{font-weight:800;color:#0d3b27;margin:8px 0 0}.ej-counter.is-warn{color:#b54708}.ej-counter.is-ok{color:#247a31}.ej-accordion{display:grid;gap:12px}.ej-acc{border:1px solid #eaecf0;border-radius:16px;background:#fff;overflow:hidden}.ej-acc[open]{box-shadow:0 10px 26px rgba(15,23,42,.05)}.ej-acc summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:#fbfcfd;color:#101828;font-weight:800}.ej-acc summary::-webkit-details-marker{display:none}.ej-acc summary:after{content:'+';display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:#edf4e8;color:#0d3b27;font-weight:900;flex:0 0 26px}.ej-acc[open] summary:after{content:'−'}.ej-acc summary span{font-size:15px}.ej-step-status{font-style:normal;font-size:12px;color:#667085;background:#f2f4f7;border-radius:999px;padding:5px 9px;margin-left:auto;white-space:nowrap}.ej-acc-body{padding:16px}.ej-grid-wrap{display:block;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #eef0f2;border-radius:14px;margin:12px 0;-webkit-overflow-scrolling:touch}.ej-matrix{width:100%;min-width:560px;border-collapse:collapse;table-layout:auto;background:#fff}.ej-matrix th,.ej-matrix td{padding:10px 9px;border-bottom:1px solid #eef0f2;text-align:center;vertical-align:middle}.ej-matrix th:first-child,.ej-matrix td:first-child{position:sticky;left:0;z-index:2;text-align:left;font-weight:800;background:#fafafa;min-width:110px}.ej-matrix input{width:64px;max-width:100%;min-height:38px;border:1px solid #d0d5dd;border-radius:999px;text-align:center;padding:6px 8px;background:#fff;box-shadow:inset 0 1px 2px rgba(0,0,0,.03)}.ej-matrix input:focus,.ej-fields input:focus,.ej-fields select:focus,.ej-fields textarea:focus,.ej-inline-field input:focus{outline:none;border-color:#8CBB66;box-shadow:0 0 0 3px rgba(140,187,102,.18)}.ej-inline-field{display:block;margin-top:12px;font-weight:700;color:#344054}.ej-inline-field input{width:100%;max-width:420px;margin-top:6px;border:1px solid #d0d5dd;border-radius:10px;padding:10px;background:#fff}.ej-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ej-fields label,.ej-fields fieldset{display:block;min-width:0;border:1px solid #eaecf0;border-radius:14px;padding:12px;background:#fcfcfd;font-weight:700;color:#344054}.ej-fields .ej-wide{grid-column:1/-1}.ej-fields select,.ej-fields input,.ej-fields textarea{width:100%;max-width:100%;margin-top:6px;border:1px solid #d0d5dd;border-radius:10px;padding:10px;background:#fff;font-weight:400;color:#101828}.ej-fields textarea{min-height:110px}.ej-fields fieldset legend{font-weight:800;color:#0d3b27;padding:0 4px}.ej-check,.ej-radio{border:0!important;padding:5px 0!important;background:transparent!important;display:block!important;font-weight:500!important;color:#344054!important}.ej-check input,.ej-radio input{width:auto!important;margin:0 8px 0 0!important}.ej-other{display:none;margin-top:8px!important}.ej-upload-box{margin-top:12px;padding:12px;border-radius:14px;background:#fff;border:1px dashed #c8d8c0}.ej-summary{padding:16px;border-radius:16px;background:#f7fbf4;border:1px solid #dcefd2}.ej-summary h4{margin:0 0 12px;color:#0d3b27;font-weight:900}.ej-summary p{margin:6px 0}.ej-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ej-summary-grid p{padding:10px;border-radius:12px;background:#fff;border:1px solid #e6f0df;margin:0}.ej-total{font-size:20px;color:#0d3b27}.ej-price-note{color:#667085;font-size:13px;line-height:1.55;background:#fff;border-left:4px solid #8CBB66;padding:10px 12px;border-radius:10px}.ej-ok{color:#247a31;font-weight:800}.ej-warn{color:#b54708;font-weight:800}.single_add_to_cart_button.disabled,.single_add_to_cart_button.ej-moq-blocked{opacity:.55;cursor:not-allowed!important}.ej-cart-lock-msg{display:none;margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:700;font-size:13px;line-height:1.45}.ej-cart-lock-msg.is-hovering{box-shadow:0 8px 20px rgba(154,52,18,.08)}.product .summary form.cart .ej-b2b{float:none!important}.product .summary form.cart .quantity{max-width:120px}.ej-account-artwork{margin-top:26px;padding:18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.ej-account-artwork h3{margin-top:0;color:#0d3b27}.ej-account-artwork-form input[type=file]{padding:10px;border:1px dashed #cbd5e1;border-radius:12px;width:100%;max-width:520px;background:#f8fafc}@media(max-width:900px){.ej-b2b{padding:16px;border-radius:18px}.ej-fields,.ej-summary-grid{grid-template-columns:1fr}.ej-matrix{min-width:520px}.ej-matrix input{width:58px}.ej-acc summary{padding:14px}.ej-acc-body{padding:14px}.ej-step-status{display:none}}@media(max-width:480px){.ej-b2b{padding:13px;margin:18px 0}.ej-b2b h3{font-size:22px}.ej-action-strip,.ej-bottom-actions{display:grid;grid-template-columns:1fr}.ej-matrix{min-width:500px}.ej-matrix th,.ej-matrix td{padding:8px 7px}.ej-matrix input{width:54px;min-height:36px}.ej-quote-btn,.ej-wa-btn{width:100%;margin-right:0!important}.ej-acc summary span{font-size:14px}.ej-summary-grid p{font-size:14px}}

/* v1.0.3 smoother color/size picker */
.ej-color-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.ej-color-chip{appearance:none;border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:12px;display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;min-height:54px;transition:.18s ease;box-shadow:0 3px 10px rgba(15,23,42,.03)}.ej-color-chip:hover{border-color:#8CBB66;transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.07)}.ej-color-chip.is-selected{border-color:#8CBB66;background:#f4faef;box-shadow:0 0 0 3px rgba(140,187,102,.16)}.ej-swatch{width:22px;height:22px;border-radius:999px;display:inline-block;flex:0 0 22px;border:1px solid rgba(16,24,40,.14);vertical-align:middle}.ej-swatch.is-white{box-shadow:inset 0 0 0 1px #d0d5dd;background:#fff}.ej-custom-color-panel,.ej-custom-size-panel{background:#fbfcfd;border:1px solid #eaecf0;border-radius:16px;padding:14px;margin:12px 0}.ej-custom-color-row,.ej-custom-size-row{display:grid;grid-template-columns:72px 1fr auto;gap:10px;align-items:center;margin-top:9px}.ej-custom-size-row{grid-template-columns:1fr auto}.ej-custom-color-row input[type=color]{height:44px;width:72px;padding:3px;border:1px solid #d0d5dd;border-radius:12px;background:#fff}.ej-custom-color-row input[type=text],.ej-custom-size-row input{height:44px;border:1px solid #d0d5dd;border-radius:12px;padding:10px 12px;background:#fff}.ej-add-custom-color,.ej-add-size,.ej-next-acc{min-height:44px!important;border-radius:12px!important;font-weight:800!important;background:#0d3b27!important;color:#fff!important;border:1px solid #0d3b27!important}.ej-add-custom-color:hover,.ej-add-size:hover,.ej-next-acc:hover{background:#092d1d!important;color:#fff!important}.ej-size-rows{display:grid;gap:12px;margin:16px 0}.ej-size-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;overflow:hidden}.ej-size-card.has-qty{border-color:#cfe6c0;background:#fbfff8}.ej-size-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #edf0f2}.ej-size-card-head>div{display:flex;align-items:center;gap:10px;min-width:0}.ej-size-card-head strong{color:#0d3b27}.ej-row-total{margin-left:auto;font-weight:900;color:#0d3b27;background:#eef8e8;border-radius:999px;padding:5px 10px;white-space:nowrap}.ej-remove-color{width:30px;height:30px;border-radius:999px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;font-size:20px;line-height:1;cursor:pointer}.ej-size-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:10px;padding:14px;width:100%;max-width:100%;overflow:visible}.ej-size-inputs label{display:block;text-align:center;font-weight:800;color:#344054}.ej-size-inputs label span{display:block;margin-bottom:6px;font-size:13px}.ej-size-inputs input{width:100%;min-height:42px;border:1px solid #d0d5dd;border-radius:999px;text-align:center;padding:8px;background:#fff;box-shadow:inset 0 1px 2px rgba(0,0,0,.03)}.ej-size-inputs input:focus,.ej-custom-color-row input:focus,.ej-custom-size-row input:focus{outline:none;border-color:#8CBB66;box-shadow:0 0 0 3px rgba(140,187,102,.18)}.ej-no-color-msg{padding:13px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:800}.ej-next-acc{margin-top:6px!important}.ej-b2b .ej-matrix{display:none}
@media(max-width:900px){.ej-color-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.ej-size-inputs{grid-template-columns:repeat(3,minmax(72px,1fr))}.ej-custom-color-row{grid-template-columns:64px 1fr}.ej-custom-color-row .ej-add-custom-color{grid-column:1/-1}.ej-custom-size-row{grid-template-columns:1fr}}
@media(max-width:480px){.ej-color-picker{grid-template-columns:1fr}.ej-size-card-head{align-items:flex-start}.ej-size-inputs{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.ej-custom-color-row{grid-template-columns:1fr}.ej-custom-color-row input[type=color]{width:100%}.ej-custom-size-row{grid-template-columns:1fr}.ej-add-custom-color,.ej-add-size,.ej-next-acc{width:100%!important}}


/* v1.0.4 responsive size row fix: show all size inputs without clipping */
.ej-size-card{overflow:visible!important}
.ej-size-card-head{border-radius:16px 16px 0 0}
.ej-size-inputs{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))!important;overflow:visible!important}
.ej-size-inputs input{min-width:0!important}
@media(max-width:640px){
  .ej-color-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ej-size-inputs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px;padding:12px}
  .ej-size-inputs label span{font-size:12px;margin-bottom:5px}
  .ej-size-inputs input{min-height:40px;padding:7px 6px}
  .ej-size-card-head{padding:11px 12px;gap:8px}
  .ej-row-total{padding:5px 8px;font-size:13px}
  .ej-remove-color{flex:0 0 30px}
}
@media(max-width:380px){
  .ej-size-inputs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ej-color-picker{grid-template-columns:1fr}
}

/* v1.0.5 request quote popup */
body.ej-modal-open{overflow:hidden}
.ej-quote-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:18px}
.ej-quote-modal.is-open{display:flex}
.ej-quote-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.64);backdrop-filter:blur(3px)}
.ej-quote-modal-panel{position:relative;width:min(920px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;padding:24px;box-shadow:0 30px 80px rgba(15,23,42,.32)}
.ej-quote-modal-panel h3{margin:0 40px 8px 0;color:#0d3b27;font-size:28px;font-weight:900;line-height:1.15}
.ej-modal-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#101828;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ej-modal-close:hover{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.ej-popup-summary{margin:16px 0;padding:15px;border-radius:18px;background:#f7fbf4;border:1px solid #dcefd2}
.ej-popup-summary>strong{display:block;color:#0d3b27;margin-bottom:10px;font-size:16px}
.ej-popup-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0;padding:0;list-style:none}
.ej-popup-list li{padding:9px 10px;border-radius:12px;background:#fff;border:1px solid #e6f0df;color:#344054;line-height:1.4}
.ej-modal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.ej-modal-fields label,.ej-modal-message-label{display:block;font-weight:800;color:#344054}
.ej-modal-fields label span{color:#c1121f}
.ej-modal-fields input,.ej-modal-message-label textarea,.ej-modal-upload input[type=url]{width:100%;margin-top:6px;border:1px solid #d0d5dd;border-radius:12px;padding:11px 12px;background:#fff;color:#101828;font-weight:400}
.ej-modal-fields input:focus,.ej-modal-message-label textarea:focus,.ej-modal-upload input[type=url]:focus{outline:none;border-color:#8CBB66;box-shadow:0 0 0 3px rgba(140,187,102,.18)}
.ej-modal-upload{margin:16px 0;padding:15px;border:1px dashed #bed7af;border-radius:18px;background:#fbfff8}
.ej-modal-upload>strong{display:block;color:#0d3b27;margin-bottom:10px}
.ej-modal-upload input[type=file]{display:block;width:100%;padding:12px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;margin-bottom:8px}
.ej-modal-message-label textarea{min-height:110px;resize:vertical}
.ej-modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;align-items:center}
.ej-quote-submit{background:#0d3b27!important;color:#fff!important;border:1px solid #0d3b27!important;border-radius:999px!important;padding:13px 20px!important;font-weight:900!important;min-height:46px!important}
.ej-quote-submit:hover{background:#092d1d!important;color:#fff!important}
.ej-modal-cancel{border-radius:999px!important;padding:13px 20px!important;font-weight:800!important;min-height:46px!important}
.ej-quote-response{margin:14px 0 0;font-weight:800;line-height:1.45}
.ej-quote-response.is-success{color:#247a31;background:#f0f9eb;border:1px solid #cfe6c0;border-radius:12px;padding:10px 12px}
.ej-quote-response.is-error{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:10px 12px}
@media(max-width:700px){.ej-quote-modal{padding:10px;align-items:flex-end}.ej-quote-modal-panel{max-height:94vh;border-radius:20px;padding:18px}.ej-popup-list,.ej-modal-fields{grid-template-columns:1fr}.ej-modal-actions{display:grid;grid-template-columns:1fr}.ej-modal-actions .button{width:100%!important}.ej-quote-modal-panel h3{font-size:23px}}

/* v1.0.6 add-to-cart sync stability */
.ej-b2b-form input[name="ej_b2b_config"]{display:none!important}

/* v1.0.7 inquiry success popup, email confirmation, phone country codes */
.ej-phone-wrap{display:grid;grid-template-columns:minmax(132px,190px) 1fr;gap:8px;align-items:center;margin-top:6px}
.ej-phone-wrap select,.ej-phone-wrap input{margin-top:0!important;width:100%!important}
.ej-phone-wrap select{border:1px solid #d0d5dd;border-radius:12px;padding:10px 9px;background:#fff;color:#101828;min-height:44px;font-weight:600}
.ej-quote-success{padding:6px 0 0}.ej-quote-success[hidden]{display:none!important}.ej-submitted-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;padding:15px;border-radius:18px;background:#f7fbf4;border:1px solid #dcefd2}.ej-submitted-card p{margin:0;padding:10px;border-radius:12px;background:#fff;border:1px solid #e6f0df;color:#344054;line-height:1.45}.ej-submitted-card strong{color:#0d3b27}.ej-success-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.ej-success-whatsapp{background:#25D366!important;color:#073b20!important;border:1px solid #25D366!important;border-radius:999px!important;padding:13px 20px!important;font-weight:900!important;box-shadow:0 12px 24px rgba(37,211,102,.22)!important}.ej-success-whatsapp:hover{filter:brightness(.96);color:#073b20!important}.ej-success-close{border-radius:999px!important;padding:13px 20px!important;font-weight:900!important}.ej-flash-wa{animation:ejFlashWa 1.2s ease-in-out infinite}@keyframes ejFlashWa{0%,100%{transform:translateY(0) scale(1);box-shadow:0 0 0 0 rgba(37,211,102,.45),0 12px 24px rgba(37,211,102,.22)}50%{transform:translateY(-1px) scale(1.025);box-shadow:0 0 0 9px rgba(37,211,102,0),0 16px 30px rgba(37,211,102,.34)}}
@media(max-width:700px){.ej-phone-wrap{grid-template-columns:1fr}.ej-submitted-card{grid-template-columns:1fr}.ej-success-actions{display:grid;grid-template-columns:1fr}.ej-success-actions .button{width:100%!important;text-align:center}}

/* v1.0.11 quote popup UX, required fields, country selector and file count */
.ej-modal-fields select{
  width:100%;
  margin-top:6px;
  border:1px solid #d0d5dd;
  border-radius:12px;
  padding:11px 12px;
  background:#fff;
  color:#101828;
  font-weight:400;
  min-height:46px;
}
.ej-modal-fields select:focus{
  outline:none;
  border-color:#8CBB66;
  box-shadow:0 0 0 3px rgba(140,187,102,.18);
}
.ej-quote-popup-form{
  padding-top:4px;
}
.ej-modal-fields label,
.ej-modal-message-label{
  background:#fcfcfd;
  border:1px solid #eaecf0;
  border-radius:16px;
  padding:12px;
}
.ej-modal-fields label:has(input:required),
.ej-modal-fields label:has(select:required){
  border-color:#dcefd2;
  background:#fbfff8;
}
.ej-modal-upload{
  border-style:solid;
  box-shadow:inset 0 0 0 1px rgba(140,187,102,.08);
}
.ej-file-count{
  margin:8px 0 6px!important;
  color:#0d3b27;
  font-weight:800;
  background:#eef8e8;
  border:1px solid #dcefd2;
  border-radius:999px;
  display:inline-flex;
  padding:5px 10px;
  font-size:13px;
}
.ej-quote-success{
  text-align:left;
}
.ej-quote-success h3{
  color:#0d3b27!important;
  margin-right:44px!important;
}
.ej-submitted-card{
  background:#ffffff;
  border-color:#dcefd2;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.ej-submitted-card p{
  box-shadow:0 1px 0 rgba(15,23,42,.02);
}
.ej-quote-response.is-error{
  scroll-margin-top:80px;
}
@media(max-width:700px){
  .ej-modal-fields label,.ej-modal-message-label{padding:11px}
}
