.ocgate-b2b__builder{padding:20px;}
.ocgate-b2b__builder-row{display:flex; gap:16px; flex-wrap:nowrap; align-items:flex-start;}
.ocgate-b2b__builder-col{flex:1 1 0; min-width:0;}
.ocgate-b2b__block{margin:14px 0;}
.ocgate-b2b__block--align-left{text-align:left;}
.ocgate-b2b__block--align-center{text-align:center;}
.ocgate-b2b__block--align-right{text-align:right;}

.ocgate-b2b__block--logo{display:flex;}
.ocgate-b2b__block--logo.ocgate-b2b__block--align-left{justify-content:flex-start;}
.ocgate-b2b__block--logo.ocgate-b2b__block--align-center{justify-content:center;}
.ocgate-b2b__block--logo.ocgate-b2b__block--align-right{justify-content:flex-end;}

.ocgate-b2b__block--text,.ocgate-b2b__block--html{color:#374151;font-size:14px;line-height:1.5;}
.ocgate-b2b__block--image{display:block;}
.ocgate-b2b__img{max-width:100%; height:auto; display:inline-block; object-fit:contain;}
.ocgate-b2b__block--divider{height:1px;background:rgba(0,0,0,.08);margin:16px 0;}
.ocgate-b2b__block--button{text-align:center;}
.ocgate-b2b__btn{display:inline-block;background:#111827;color:#fff;border-radius:10px;padding:10px 14px;text-decoration:none;}
.ocgate-b2b__btn:hover{color:#fff;text-decoration:none;opacity:.92;}

/* gateway_tabs: optional columns layout */
.ocgate-b2b__gateway--columns .ocgate-b2b__tabs{display:none;}
.ocgate-b2b__gateway--columns{display:flex;flex-wrap:wrap;gap:20px;}
.ocgate-b2b__gateway--columns .ocgate-b2b__panel{display:block !important;padding:0 !important;flex:1 1 0;min-width:320px;}
.ocgate-b2b__gateway--columns .ocgate-b2b__panel[data-ocgate-panel="forgotten"]{flex:1 1 100%;min-width:320px;}

.ocgate-b2b__gateway--columns .ocgate-b2b__gateway-columns{flex:1 1 100%;}
.ocgate-b2b__gateway--columns .ocgate-b2b__gateway-forgotten{flex:1 1 100%;}

.ocgate-b2b__gateway-columns{display:flex;gap:20px;}
.ocgate-b2b__gateway-col{flex:1 1 0;min-width:320px;}
.ocgate-b2b__gateway-title{margin:0 0 10px;font-size:16px;line-height:1.2;color:#111827;}
.ocgate-b2b__gateway-forgotten{margin-top:16px;}

/* Mobile/tablet fallback: some environments ignore viewport meta and keep a ~980px CSS viewport.
   Treat <=1024px as mobile to ensure register isn't squeezed in a two-column layout. */
@media (max-width: 1024px){
	.ocgate-b2b__builder-row{flex-direction:column;}
	.ocgate-b2b__builder-col{max-width:none !important; flex:1 1 auto !important;}
	.ocgate-b2b__gateway-columns{flex-direction:column;}
	.ocgate-b2b__gateway-col{min-width:auto; width:100%;}
}

@media (max-width: 900px){
	.ocgate-b2b__builder-row{flex-direction:column;}
	.ocgate-b2b__builder-col{max-width:none !important; flex:1 1 auto !important;}
	.ocgate-b2b__gateway-columns{flex-direction:column;}
}

/* Target touch devices directly (stronger than width queries when viewport meta is missing). */
@media (hover: none) and (pointer: coarse){
	.ocgate-b2b__builder-row{flex-direction:column;}
	.ocgate-b2b__builder-col{max-width:none !important; flex:1 1 auto !important;}
	.ocgate-b2b__gateway-columns{flex-direction:column;}
	.ocgate-b2b__gateway-col{min-width:auto; width:100%;}
}

/* JS fallback: allow forcing mobile layout even if media queries are unreliable */
.ocgate-b2b--force-mobile .ocgate-b2b__builder-row{flex-direction:column;}
.ocgate-b2b--force-mobile .ocgate-b2b__builder-col{max-width:none !important; flex:1 1 auto !important;}
.ocgate-b2b--force-mobile .ocgate-b2b__gateway-columns{flex-direction:column;}
.ocgate-b2b--force-mobile .ocgate-b2b__gateway-col{min-width:auto; width:100%;}
