body.em-bulkreq-noscroll{overflow:hidden !important;}
.em-bulkreq{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #e6e6e6;border-radius:8px;background:#fff;max-width:100%;}
/* Image can be <img> or a placeholder <div> */
.em-bulkreq__img{width:74px;height:54px;border-radius:6px;background:linear-gradient(135deg,#f5f5f5,#fff);border:1px solid #eee;object-fit:contain;flex:0 0 auto;}
.em-bulkreq__text{display:flex;flex-direction:column;gap:6px;min-width:0;}
.em-bulkreq__title{display:block;font-weight:700;font-size:16px;line-height:1.25;margin:0;}
.em-bulkreq__bullets{display:block;margin:0;padding:0;list-style:none;font-size:13px;line-height:1.45;}
.em-bulkreq__bullets li{display:block;margin:2px 0;padding-left:18px;position:relative;}
.em-bulkreq__bullets li:before{content:'✓';position:absolute;left:0;top:0;}
.em-bulkreq__cta{margin-left:auto;}
.em-bulkreq__btn{background:#fff;border:2px solid #0b2e5b;color:#0b2e5b;font-weight:800;font-size:13px;letter-spacing:.4px;padding:10px 14px;border-radius:6px;cursor:pointer;white-space:nowrap;}
.em-bulkreq__btn:hover{filter:brightness(.97);}

.em-bulkreq-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:18px;}
.em-bulkreq-modal__bg{position:absolute;inset:0;background:rgba(0,0,0,.55);}
.em-bulkreq-modal__box{position:relative;width:min(980px,92vw);max-height:92vh;min-height:460px;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.35);padding:18px;}
.em-bulkreq-modal__x{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;opacity:.75;}

.em-bulkreq-login{display:grid;grid-template-columns:1.2fr 1fr;gap:0;align-items:stretch;}

/* Make login image flush to modal edges (no inner white border) */
.em-bulkreq-modal[data-em-bulkreq-modal="login"] .em-bulkreq-modal__box{padding:0;overflow:hidden;min-height:460px;}

.em-bulkreq-login__left{position:relative;background:#2f2f2f;border-radius:12px 0 0 12px;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;min-height:460px;background-size:cover;background-position:center;background-repeat:no-repeat;}

.em-bulkreq-login__left:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55);}
.em-bulkreq-login__left>*{position:relative;z-index:1;}
.em-bulkreq-login__welcome{font-size:20px;font-weight:800;margin-bottom:8px;}
.em-bulkreq-login__hint{font-size:13px;opacity:.9;}
.em-bulkreq-login__right{padding:22px 22px;display:flex;flex-direction:column;justify-content:center;border-radius:0 12px 12px 0;}
.em-bulkreq-login__title{font-size:18px;font-weight:800;margin-bottom:4px;}
.em-bulkreq-login__sub{font-size:12px;opacity:.8;margin-bottom:10px;}
.em-bulkreq-login__framewrap{border:1px solid #eee;border-radius:10px;overflow:hidden;height:min(520px,70vh);}
.em-bulkreq-login__frame{width:100%;height:100%;border:0;background:#fff;}

.em-bulkreq-form__h{margin:0 0 12px 0;font-size:18px;font-weight:800;}
.em-bulkreq-form__row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;}
.em-bulkreq-form__row label{font-size:13px;font-weight:700;display:block;line-height:1.2;}
.em-bulkreq-form__row input,.em-bulkreq-form__row textarea{border:1px solid #ddd;border-radius:8px;padding:10px 12px;font-size:14px;width:100%;box-sizing:border-box;}
.em-bulkreq-form__row textarea{min-height:92px;resize:vertical;}
.em-bulkreq-form__row--two{display:grid;grid-template-columns:160px 1fr;gap:12px;}
.em-bulkreq-form__row--two>div{display:flex;flex-direction:column;gap:6px;min-width:0;}
.em-bulkreq-form__row--two input[readonly]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.em-bulkreq-form__submit{width:100%;padding:12px 14px;border:0;border-radius:8px;background:#111;color:#fff;font-weight:800;cursor:pointer;}
.em-bulkreq-form__submit[disabled]{opacity:.75;cursor:not-allowed;}

/* Submit loading spinner */
.em-bulkreq-form__submit.is-loading{position:relative;color:transparent;}
.em-bulkreq-form__submit.is-loading:after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:18px;
  height:18px;
  margin:-9px 0 0 -9px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  animation:emBulkSpin .8s linear infinite;
}
@keyframes emBulkSpin{to{transform:rotate(360deg);}}

/* Success state (brief) */
.em-bulkreq-form__submit.is-success{background:#0b7a3b;}
.em-bulkreq-form__note{margin-top:10px;font-size:13px;padding:10px 12px;border-radius:8px;background:#f6f6f6;}

@media (max-width:820px){
  .em-bulkreq{flex-direction:column;align-items:flex-start;}
  .em-bulkreq__cta{margin-left:0;width:100%;}
  .em-bulkreq__btn{width:100%;}
  .em-bulkreq-login{grid-template-columns:1fr;}
  .em-bulkreq-login__left{min-height:120px;border-radius:12px 12px 0 0;}
  .em-bulkreq-login__right{border-radius:0 0 12px 12px;}
  .em-bulkreq-form__row--two{grid-template-columns:1fr;}
}

/* login modal (no-iframe) */
.em-bulkreq-login__actions{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.em-bulkreq-login__go{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.em-bulkreq-login__ctaRow{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;}
.em-bulkreq-login__ctaRow .em-bulkreq-login__link{display:block;text-align:center;margin-top:14px;padding-top:2px;}
.em-bulkreq-login__link{padding:6px 0;}
.em-bulkreq-login__link{font-size:13px;font-weight:700;text-decoration:none;color:#0b2e5b;}
.em-bulkreq-login__link:hover{text-decoration:underline;}

/* Product mini header inside the enquiry form modal */
.em-bulkreq-prod{display:flex;align-items:center;gap:10px;margin:0 0 12px 0;padding:10px 12px;border:1px solid #eee;border-radius:10px;background:#fafafa;}
.em-bulkreq-prod__img{width:54px;height:40px;border-radius:6px;object-fit:contain;background:#fff;border:1px solid #eee;}
.em-bulkreq-prod__name{
  font-weight:800;
  font-size:14px;
  line-height:1.2;
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* On very small screens allow wrap so name doesn't get too tiny */
@media (max-width:480px){
  .em-bulkreq-prod__name{white-space:normal;}
}
