.ocgate-b2b{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f6f7fb,#eef2ff);padding:24px;--ocgb2b-radius:14px;--ocgb2b-radius-sm:10px;--ocgb2b-tab-radius:14px;--ocgb2b-tab-radius-sm:10px;--ocgb2b-btn-radius:14px;--ocgb2b-btn-radius-sm:10px;}
.ocgate-b2b--btn-classic{--ocgb2b-radius:0px;--ocgb2b-radius-sm:0px;--ocgb2b-btn-radius:0px;--ocgb2b-btn-radius-sm:0px;}
.ocgate-b2b--tabs-classic{--ocgb2b-tab-radius:0px;--ocgb2b-tab-radius-sm:0px;}
.ocgate-b2b--align-left{justify-content:flex-start;}
.ocgate-b2b--align-center{justify-content:center;}
.ocgate-b2b--align-right{justify-content:flex-end;}
body{overflow:auto !important;}
header, footer, #header, #footer, #top, .top-bar, .top-bar-wrap {display:none !important;}
/* Journal3 / marketing overlays can cover the gateway forms (especially Forgotten tab)
  NOTE: Do NOT hide Bootstrap/Journal modals; the gateway uses them for agreements. */
.notification-wrapper,
.module-notification,
.pgiftbox-popup,
.pgiftbox-overlay{display:none !important;}

/* Spin Wheel (OCMP) floating icon + container should not appear on the gateway page */
html body #close-icon,
html body #ocmp_spin_wheel{display:none !important;visibility:hidden !important;opacity:0 !important;pointer-events:none !important;}

/* Common mobile bottom bars (theme/plugins). Keep scoped to gateway via this stylesheet. */
.fixed-bottom,
.sticky-bottom,
.bottom-bar,
.bottom-nav,
.bottom-menu,
.footer-fixed,
.mobile-bottom-bar,
.mobile-bottom-menu,
.mobile-nav-bar,
.mobile-nav,
#mobile-bottom-bar,
#mobile-bottom-menu,
#bottom-menu,
#bottom-nav,
#footer-bottom,
#mobile-footer{display:none !important;}
.ocgate-b2b__card{width:100%;max-width:1400px;background:var(--ocgb2b-form-bg, #fff);border:none;border-radius:var(--ocgb2b-radius);box-shadow:none;overflow:hidden;}
.ocgate-b2b__brand{display:flex;gap:16px;align-items:center;padding:20px 20px 8px;}
.ocgate-b2b__logo{width:56px;height:56px;object-fit:contain;border-radius:12px;background:#f7f7f7;border:1px solid rgba(0,0,0,.06);}
.ocgate-b2b__titles{min-width:0;}
.ocgate-b2b__store{font-size:12px;letter-spacing:.02em;color:#6b7280;margin-bottom:4px;}
.ocgate-b2b__title{margin:0;font-size:20px;line-height:1.25;color:#111827;}
.ocgate-b2b__intro{margin-top:6px;color:#6b7280;font-size:13px;}
.ocgate-b2b__tabs{display:flex;gap:8px;padding:10px 20px 12px;border-bottom:1px solid rgba(0,0,0,.06);}
.ocgate-b2b__tab{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.ocgate-b2b__tab{appearance:none;border:1px solid rgba(0,0,0,.10);background:#fff;color:#374151;border-radius:var(--ocgb2b-tab-radius-sm);padding:9px 12px;font-size:13px;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,filter .12s ease;}
.ocgate-b2b__tab:hover{background:rgba(15,23,42,.04);}
.ocgate-b2b__tab.is-active{background:var(--ocgb2b-tab-bg, var(--ocgb2b-accent,#111827));color:#fff;border-color:var(--ocgb2b-tab-border, var(--ocgb2b-accent,#111827));}
.ocgate-b2b__tab.is-active:hover,.ocgate-b2b__tab.is-active:focus{background:var(--ocgb2b-tab-bg-hover, var(--ocgb2b-tab-bg, var(--ocgb2b-accent,#111827)));border-color:var(--ocgb2b-tab-border-hover, var(--ocgb2b-tab-border, var(--ocgb2b-accent,#111827)));box-shadow:inset 0 0 0 999px rgba(0,0,0,var(--ocgb2b-tab-hover-overlay,.06));}
.ocgate-b2b__tab.is-active:active{background:var(--ocgb2b-tab-bg-hover, var(--ocgb2b-tab-bg, var(--ocgb2b-accent,#111827)));border-color:var(--ocgb2b-tab-border-hover, var(--ocgb2b-tab-border, var(--ocgb2b-accent,#111827)));box-shadow:inset 0 0 0 999px rgba(0,0,0,var(--ocgb2b-tab-active-overlay,.12));}
.ocgate-b2b__panel{display:none;padding:0;}
.ocgate-b2b__panel.is-active{display:block !important;visibility:visible !important;opacity:1 !important;height:auto !important;max-height:none !important;overflow:visible !important;}
.ocgate-b2b__frame,.ocgate-b2b__iframe{width:100%;height:680px;border:0;display:block;background:#fff;}

/* Forms (no-embed UI)
  Force a clean stacked layout to avoid theme-specific horizontal label styles. */
.ocgate-b2b__form{padding:14px;}
.ocgate-b2b__form fieldset{border:0;margin:0;padding:0;}
.ocgate-b2b__form .form-group{display:block !important;float:none !important;clear:both !important;visibility:visible !important;opacity:1 !important;margin:0 0 10px !important;}
.ocgate-b2b__form .form-group > label{display:block !important;float:none !important;width:auto !important;max-width:100% !important;text-align:left !important;visibility:visible !important;opacity:1 !important;margin:0 0 4px !important;font-weight:600;color:#374151;font-size:12.5px;line-height:1.25;}
.ocgate-b2b__form .form-control{display:block !important;visibility:visible !important;opacity:1 !important;width:100% !important;max-width:100% !important;box-sizing:border-box !important;min-height:36px;background:#fff !important;color:#111827 !important;padding:7px 10px !important;font-size:13px;line-height:1.3 !important;border-radius:var(--ocgb2b-btn-radius-sm);border:1px solid rgba(0,0,0,.12);}
.ocgate-b2b__form .form-control::placeholder{color:#6b7280 !important;opacity:1 !important;}
.ocgate-b2b__form textarea.form-control{min-height:90px;}
.ocgate-b2b__form .input-group{width:100%;}
.ocgate-b2b__form .input-group .form-control{min-height:36px;}
.ocgate-b2b__form .input-group-btn .btn{min-height:36px;border-radius:0 var(--ocgb2b-btn-radius-sm) var(--ocgb2b-btn-radius-sm) 0;}
.ocgate-b2b__form .btn{border-radius:var(--ocgb2b-btn-radius-sm);min-height:38px;font-size:13px;line-height:1.2;padding:8px 10px;}
.ocgate-b2b__form .btn-primary{background:var(--ocgb2b-btn-bg, var(--ocgb2b-accent,#ff6a00));border-color:var(--ocgb2b-btn-border, var(--ocgb2b-accent,#ff6a00));}
.ocgate-b2b__form .btn-primary:hover{background:var(--ocgb2b-btn-bg-hover, var(--ocgb2b-btn-bg, var(--ocgb2b-accent,#ff6a00)));border-color:var(--ocgb2b-btn-border-hover, var(--ocgb2b-btn-border, var(--ocgb2b-accent,#ff6a00)));box-shadow:inset 0 0 0 999px rgba(0,0,0,var(--ocgb2b-btn-hover-overlay,.06));}
.ocgate-b2b__form .btn-primary:active{background:var(--ocgb2b-btn-bg-hover, var(--ocgb2b-btn-bg, var(--ocgb2b-accent,#ff6a00)));border-color:var(--ocgb2b-btn-border-hover, var(--ocgb2b-btn-border, var(--ocgb2b-accent,#ff6a00)));box-shadow:inset 0 0 0 999px rgba(0,0,0,var(--ocgb2b-btn-active-overlay,.12));}
.ocgate-b2b__form .btn-primary:focus{outline:0;background:var(--ocgb2b-btn-bg-hover, var(--ocgb2b-btn-bg, var(--ocgb2b-accent,#ff6a00)));border-color:var(--ocgb2b-btn-border-hover, var(--ocgb2b-btn-border, var(--ocgb2b-accent,#ff6a00)));box-shadow:0 0 0 4px rgba(0,0,0,.10), inset 0 0 0 999px rgba(0,0,0,var(--ocgb2b-btn-hover-overlay,.06));}
.ocgate-b2b__form .text-danger{margin-top:6px;}

.ocgate-b2b__form .radio, .ocgate-b2b__form .checkbox{margin:0 0 6px;}
.ocgate-b2b__form .radio label, .ocgate-b2b__form .checkbox label{font-size:13px;line-height:1.25;}
.ocgate-b2b__form .radio input[type="radio"], .ocgate-b2b__form .checkbox input[type="checkbox"]{margin-top:0;}
.ocgate-b2b__form .radio-inline, .ocgate-b2b__form .checkbox-inline{margin-left:0;margin-right:14px;}
.ocgate-b2b__form .radio-inline input, .ocgate-b2b__form .checkbox-inline input{margin-top:0;}

.ocgate-b2b__agree-line{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;color:#374151;font-size:13px;line-height:1.25;}
.ocgate-b2b__agree-line input[type="checkbox"]{margin-top:2px;}

/* Register form can appear narrower than Login in some theme/custom-field layouts.
   Force common wrappers to full width for the gateway register forms. */
#ocgb2b-register-form,
#ocgb2b-register-form2{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}
#ocgb2b-register-form fieldset,
#ocgb2b-register-form2 fieldset,
#ocgb2b-register-form #account,
#ocgb2b-register-form2 #account,
#ocgb2b-register-form .form-group,
#ocgb2b-register-form2 .form-group,
#ocgb2b-register-form .form-group > div,
#ocgb2b-register-form2 .form-group > div,
#ocgb2b-register-form .row,
#ocgb2b-register-form2 .row,
#ocgb2b-register-form [class*='col-'],
#ocgb2b-register-form2 [class*='col-']{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  float:none !important;
}
#ocgb2b-register-form .row,
#ocgb2b-register-form2 .row{margin-left:0 !important;margin-right:0 !important;}
#ocgb2b-register-form .input-group,
#ocgb2b-register-form2 .input-group{width:100% !important;max-width:none !important;display:flex !important;align-items:stretch;}
#ocgb2b-register-form .input-group .form-control,
#ocgb2b-register-form2 .input-group .form-control{flex:1 1 auto;min-width:0;}
#ocgb2b-register-form .input-group-btn,
#ocgb2b-register-form2 .input-group-btn{width:auto;flex:0 0 auto;}

/* Ensure OpenCart agreement modal is always readable on the gateway page */
body.modal-open, html.modal-open{overflow:hidden !important;}
.modal-backdrop{z-index:2147483500 !important;}
.modal{z-index:2147483600 !important;}
.modal .modal-dialog{max-width:640px;width:auto;margin:10px auto;}
.modal .modal-body{max-height:70vh;overflow:auto;}

@media (max-width: 520px){
  .ocgate-b2b{padding:8px;align-items:flex-start;}
  .ocgate-b2b__card{padding:0;}
  .ocgate-b2b__card{max-width:none;border-radius:var(--ocgb2b-radius-sm);}
  .ocgate-b2b__tabs{flex-wrap:wrap;}
  .ocgate-b2b__tab{flex:1 1 calc(50% - 6px);text-align:center;}
}
@media (max-width: 768px){
  .ocgate-b2b{padding:10px;align-items:flex-start;}
  .ocgate-b2b__card{max-width:none;border-radius:var(--ocgb2b-radius-sm);}
  .ocgate-b2b__brand{padding:16px 14px 8px;}
  .ocgate-b2b__tabs{padding:10px 14px 12px;flex-wrap:wrap;}
  .ocgate-b2b__frame,.ocgate-b2b__iframe{height:780px;}
}

@media (hover: none) and (pointer: coarse){
  .ocgate-b2b{padding:8px;align-items:flex-start;}
  .ocgate-b2b__card{max-width:none;width:100%;border-radius:var(--ocgb2b-radius-sm);}
}
