.ocgate-b2b--split{min-height:100vh;display:flex;align-items:stretch;justify-content:center;background:#f5f6fa;padding:0;}
header, footer, #header, #footer, #top, .top-bar, .top-bar-wrap {display:none !important;}

.ocgate-b2b__shell{width:100%;min-height:100vh;display:flex;}

.ocgate-b2b--split.ocgate-b2b--minimal .ocgate-b2b__hero{display:none;}
.ocgate-b2b--split.ocgate-b2b--minimal .ocgate-b2b__shell{justify-content:center;}
.ocgate-b2b--split.ocgate-b2b--minimal .ocgate-b2b__pane{flex:0 0 auto;width:100%;min-width:auto;background:transparent;}

.ocgate-b2b__hero{flex:1.1;min-width:320px;position:relative;display:flex;align-items:flex-end;padding:64px 64px 56px;background:var(--ocgb2b-accent,#ff6a00);color:#fff;overflow:hidden;}
.ocgate-b2b__hero::before{content:"";position:absolute;inset:0;background-image:var(--ocgb2b-hero-image, none);background-size:cover;background-position:center;opacity:0.45;}
.ocgate-b2b__hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,0));}
.ocgate-b2b__hero-inner{position:relative;max-width:560px;}
.ocgate-b2b__hero-title{margin:0 0 14px;font-weight:800;letter-spacing:.01em;font-size:44px;line-height:1.05;text-transform:uppercase;}
.ocgate-b2b__hero-sub{margin:0;font-size:14px;opacity:.92;}

.ocgate-b2b__pane{flex:1;min-width:360px;display:flex;align-items:center;justify-content:center;padding:56px 56px;background:transparent;}
.ocgate-b2b__card--split{width:100%;max-width:720px;background:var(--ocgb2b-form-bg, #fff);border:none;border-radius:var(--ocgb2b-radius);box-shadow:none;padding:36px 34px 24px;}
.ocgate-b2b__brand--split{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;margin-bottom:14px;}
.ocgate-b2b__logo--split{width:84px;height:84px;border-radius:var(--ocgb2b-radius);object-fit:contain;background:#fff;border:1px solid rgba(0,0,0,.06);}
.ocgate-b2b__title--split{margin:0;color:#111827;font-size:18px;line-height:1.2;font-weight:800;}
.ocgate-b2b__intro--split{margin:0;color:#6b7280;font-size:13px;line-height:1.45;}

.ocgate-b2b__tabs--split{display:flex;justify-content:center;gap:6px;margin:14px 0 10px;padding:6px;border:1px solid rgba(0,0,0,.08);background:rgba(15,23,42,.03);border-radius:var(--ocgb2b-tab-radius-sm);}
.ocgate-b2b__tab--link{appearance:none;border:1px solid transparent;background:transparent;color:#374151;font-weight:800;font-size:13px;padding:9px 12px;border-radius:calc(var(--ocgb2b-tab-radius-sm) - 2px);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,filter .12s ease;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.ocgate-b2b__tab--link:hover{background:rgba(15,23,42,.05);}
.ocgate-b2b__tab--link.is-active{color:#fff;background:var(--ocgb2b-tab-bg, var(--ocgb2b-accent,#ff6a00));border-color:var(--ocgb2b-tab-border, var(--ocgb2b-accent,#ff6a00));}
.ocgate-b2b__tab--link.is-active:hover,.ocgate-b2b__tab--link.is-active:focus{background:var(--ocgb2b-tab-bg-hover, var(--ocgb2b-tab-bg, var(--ocgb2b-accent,#ff6a00)));border-color:var(--ocgb2b-tab-border-hover, var(--ocgb2b-tab-border, var(--ocgb2b-accent,#ff6a00)));box-shadow:inset 0 0 0 999px rgba(0,0,0,var(--ocgb2b-tab-hover-overlay,.06));}
.ocgate-b2b__tab--link.is-active:active{background:var(--ocgb2b-tab-bg-hover, var(--ocgb2b-tab-bg, var(--ocgb2b-accent,#ff6a00)));border-color:var(--ocgb2b-tab-border-hover, var(--ocgb2b-tab-border, var(--ocgb2b-accent,#ff6a00)));box-shadow:inset 0 0 0 999px rgba(0,0,0,var(--ocgb2b-tab-active-overlay,.12));}

.ocgate-b2b--tabs-classic .ocgate-b2b__tabs--split{border-radius:0;}
.ocgate-b2b--tabs-classic .ocgate-b2b__tab--link{border-radius:0;}

.ocgate-b2b__panel--split{display:none;}
.ocgate-b2b__panel--split.is-active{display:block !important;visibility:visible !important;opacity:1 !important;height:auto !important;max-height:none !important;overflow:visible !important;}
.ocgate-b2b__frame--split,.ocgate-b2b__iframe--split{width:100%;height:520px;border:0;display:block;background:#fff;}

/* Register panel: some themes/custom field layouts may apply grid widths that make it look narrower than Login.
   Force the register form and its common layout wrappers to full width. */
.ocgate-b2b__panel--split[data-ocgate-panel="register"],
.ocgate-b2b__panel--split[data-ocgate-panel="register"] form,
.ocgate-b2b__panel--split[data-ocgate-panel="register"] fieldset,
.ocgate-b2b__panel--split[data-ocgate-panel="register"] #account,
.ocgate-b2b__panel--split[data-ocgate-panel="register"] .form-group,
.ocgate-b2b__panel--split[data-ocgate-panel="register"] .form-group > div,
.ocgate-b2b__panel--split[data-ocgate-panel="register"] .ocgate-b2b__agreements{width:100% !important;max-width:none !important;min-width:0 !important;}
.ocgate-b2b__panel--split[data-ocgate-panel="register"] [class*='col-']{float:none !important;width:100% !important;max-width:none !important;}
.ocgate-b2b__panel--split[data-ocgate-panel="register"] .row{margin-left:0 !important;margin-right:0 !important;}

/* Input groups (date/time/file) can collapse in some theme CSS; force them to behave responsively */
.ocgate-b2b__panel--split[data-ocgate-panel="register"] .input-group{width:100% !important;max-width:none !important;display:flex !important;align-items:stretch;}
.ocgate-b2b__panel--split[data-ocgate-panel="register"] .input-group .form-control{flex:1 1 auto;min-width:0;}
.ocgate-b2b__panel--split[data-ocgate-panel="register"] .input-group-btn{width:auto;flex:0 0 auto;}

/* Forms in split preset */
.ocgate-b2b__panel--split .ocgate-b2b__form{padding:0;}
.ocgate-b2b__panel--split .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__panel--split .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__panel--split .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);box-shadow:none;}
.ocgate-b2b__panel--split .ocgate-b2b__form .form-control::placeholder{color:#6b7280 !important;opacity:1 !important;}
.ocgate-b2b__panel--split .ocgate-b2b__form .form-control:focus{border-color:var(--ocgb2b-accent,#ff6a00);outline:0;box-shadow:0 0 0 4px rgba(0,0,0,.10);}
.ocgate-b2b__panel--split .ocgate-b2b__form .radio, .ocgate-b2b__panel--split .ocgate-b2b__form .checkbox{margin:0 0 6px;}
.ocgate-b2b__panel--split .ocgate-b2b__form .radio label, .ocgate-b2b__panel--split .ocgate-b2b__form .checkbox label{font-size:13px;line-height:1.25;}
.ocgate-b2b__panel--split .ocgate-b2b__form .radio-inline, .ocgate-b2b__panel--split .ocgate-b2b__form .checkbox-inline{margin-left:0;margin-right:14px;}
.ocgate-b2b__panel--split .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__panel--split .ocgate-b2b__agree-line input[type="checkbox"]{margin-top:2px;}
.ocgate-b2b__panel--split .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__panel--split .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__panel--split .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__panel--split .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__panel--split .ocgate-b2b__form .btn{min-height:38px;font-size:13px;line-height:1.2;padding:8px 10px;border-radius:var(--ocgb2b-btn-radius-sm);}

/* If Register tab feels narrow, allow forcing a full-width form while keeping the split hero for Login. */
.ocgate-b2b--split.ocgate-b2b--register-wide .ocgate-b2b__shell{flex-direction:column;}
.ocgate-b2b--split.ocgate-b2b--register-wide .ocgate-b2b__hero{display:none !important;}
.ocgate-b2b--split.ocgate-b2b--register-wide .ocgate-b2b__pane{min-width:auto;padding:14px 10px;align-items:flex-start;justify-content:flex-start;}
.ocgate-b2b--split.ocgate-b2b--register-wide .ocgate-b2b__card--split{max-width:none;width:100%;padding:18px 14px;border-radius:var(--ocgb2b-radius-sm);}

@media (max-width: 1024px){
  /* Many mobile browsers render with ~980px CSS viewport if viewport meta is missing/ignored.
     Treat <=1024px as mobile/tablet and use a wide single-column form layout. */
  .ocgate-b2b__shell{flex-direction:column;}
  .ocgate-b2b__hero{display:none !important;}
  .ocgate-b2b__pane{min-width:auto;padding:18px 12px;align-items:flex-start;justify-content:flex-start;}
  .ocgate-b2b__card--split{max-width:none;width:100%;padding:18px 14px;border-radius:var(--ocgb2b-radius-sm);}
}
@media (max-width: 820px){
  .ocgate-b2b__shell{flex-direction:column;}
  /* On mobile/tablet widths, use a single-column layout.
     The hero image tends to make the form feel narrow/centered. */
  .ocgate-b2b__hero{display:none !important;}
  .ocgate-b2b__pane{min-width:auto;padding:18px 12px;align-items:flex-start;justify-content:flex-start;}
  .ocgate-b2b__card--split{max-width:none;width:100%;padding:18px 14px;border-radius:var(--ocgb2b-radius-sm);}
}

@media (max-width: 520px){
  .ocgate-b2b__pane{padding:18px 12px;}
  .ocgate-b2b__card--split{padding:18px 14px;max-width:none;width:100%;}
  .ocgate-b2b__tabs--split{flex-wrap:wrap;}
  .ocgate-b2b__tab--link{flex:1 1 calc(50% - 6px);padding:8px 10px;}
  /* On very small screens, the hero consumes too much width/height.
     Prefer a full-width form instead of a split layout. */
  .ocgate-b2b__hero{display:none;}
}

/* Some environments render mobile pages with a large CSS viewport (e.g. missing/ignored viewport meta).
   Target touch devices directly to ensure the form is wide and not "centered/narrow". */
@media (hover: none) and (pointer: coarse){
  .ocgate-b2b__shell{flex-direction:column;}
  .ocgate-b2b__hero{display:none !important;}
  .ocgate-b2b__pane{min-width:auto;padding:14px 10px;align-items:flex-start;justify-content:flex-start;}
  .ocgate-b2b__card--split{max-width:none;width:100%;padding:18px 14px;border-radius:var(--ocgb2b-radius-sm);}

  /* Register tab often contains PMC agreements HTML that may use bootstrap grid/columns.
     Force it to full-width on touch devices. */
  .ocgate-b2b__agreements{width:100% !important;max-width:none !important;}
  .ocgate-b2b__agreements .row{margin-left:0 !important;margin-right:0 !important;}
  .ocgate-b2b__agreements [class*='col-']{float:none !important;width:100% !important;max-width:none !important;}
}

/* JS fallback: force mobile layout even if viewport/media queries are unreliable */
.ocgate-b2b--force-mobile.ocgate-b2b--split .ocgate-b2b__shell{flex-direction:column;}
.ocgate-b2b--force-mobile.ocgate-b2b--split .ocgate-b2b__hero{display:none !important;}
.ocgate-b2b--force-mobile.ocgate-b2b--split .ocgate-b2b__pane{min-width:auto;padding:14px 10px;align-items:flex-start;justify-content:flex-start;}
.ocgate-b2b--force-mobile.ocgate-b2b--split .ocgate-b2b__card--split{max-width:none;width:100%;padding:18px 14px;border-radius:var(--ocgb2b-radius-sm);}
.ocgate-b2b--force-mobile.ocgate-b2b--split .ocgate-b2b__agreements{width:100% !important;max-width:none !important;}
.ocgate-b2b--force-mobile.ocgate-b2b--split .ocgate-b2b__agreements .row{margin-left:0 !important;margin-right:0 !important;}
.ocgate-b2b--force-mobile.ocgate-b2b--split .ocgate-b2b__agreements [class*='col-']{float:none !important;width:100% !important;max-width:none !important;}
