.nslc-payment-methods{
	clear:both;
	width:100%;
	padding:18px 24px;
}
.nslc-payment-methods-inner{
	display:grid;
	grid-template-columns:minmax(250px, .82fr) minmax(0, 3.18fr);
	align-items:center;
	gap:22px;
	width:100%;
	max-width:1180px;
	margin:0 auto;
}
.nslc-payment-methods-copy{
	display:grid;
	gap:9px;
	min-width:0;
}
.nslc-payment-methods-copy>span{
	color:#6657f5;
	font-size:10px;
	font-weight:850;
	letter-spacing:.17em;
}
.nslc-payment-methods-copy>strong{
	max-width:100%;
	color:#10152f;
	font-size:clamp(21px,1.55vw,28px);
	line-height:1.05;
	letter-spacing:-.035em;
	hyphens:auto;
	overflow-wrap:anywhere;
}
.nslc-payment-methods-copy>small{
	max-width:250px;
	color:#6b738c;
	font-size:11px;
	line-height:1.55;
}
.nslc-payment-methods-list{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(185px,1fr));
	gap:10px;
	min-width:0;
}
.nslc-payment-method{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:8px;
	min-width:0;
	min-height:118px;
	padding:12px 10px;
	border:1px solid #dce2ed;
	border-radius:14px;
	background:linear-gradient(145deg,#fff,#fbfcff);
	box-shadow:0 8px 20px rgba(18,21,46,.065);
	text-align:center;
}
.nslc-payment-method-visual{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	width:100%;
	min-height:40px;
}
.nslc-payment-method-visual>img{
	display:block;
	width:auto;
	max-width:80px;
	height:auto;
	max-height:38px;
}
.nslc-payment-method--card .nslc-payment-method-visual>img{
	max-width:52px;
	max-height:30px;
}
.nslc-payment-method--crypto .nslc-payment-method-visual>img{
	max-width:38px;
	max-height:38px;
}
.nslc-payment-method-glyph{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:62px;
	height:62px;
	border-radius:16px;
	background:linear-gradient(135deg,#7358fb,#20cada);
	color:#fff;
	font-size:25px;
	font-weight:850;
}
.nslc-payment-method-text{
	display:grid;
	gap:5px;
	min-width:0;
	max-width:100%;
}
.nslc-payment-method-text>strong{
	color:#111630;
	font-size:13px;
	line-height:1.25;
	overflow-wrap:anywhere;
}
.nslc-payment-method-text>small{
	color:#737b92;
	font-size:9px;
	line-height:1.45;
	overflow-wrap:anywhere;
}
.nslc-payment-method-provider-icon img{
	display:block;
	width:auto;
	max-width:100px;
	height:auto;
	max-height:24px;
}
.nslc-payment-methods--home{
	padding-top:10px;
	padding-bottom:22px;
}
.nslc-payment-methods--product,
.nslc-payment-methods--cart{
	margin-top:20px;
	padding:0;
}
.nslc-payment-methods--product .nslc-payment-methods-inner,
.nslc-payment-methods--cart .nslc-payment-methods-inner{
	grid-template-columns:1fr;
	gap:16px;
}
.nslc-payment-methods--product .nslc-payment-methods-copy>strong,
.nslc-payment-methods--cart .nslc-payment-methods-copy>strong{
	font-size:22px;
}
.nslc-payment-methods--product .nslc-payment-methods-list,
.nslc-payment-methods--cart .nslc-payment-methods-list{
	grid-template-columns:1fr;
	gap:10px;
}
.nslc-payment-methods--product .nslc-payment-method,
.nslc-payment-methods--cart .nslc-payment-method{
	align-items:center;
	justify-content:flex-start;
	flex-direction:row;
	min-height:84px;
	padding:12px 15px;
	text-align:left;
}
.nslc-payment-methods--product .nslc-payment-method-visual,
.nslc-payment-methods--cart .nslc-payment-method-visual{
	flex:0 0 126px;
	justify-content:flex-start;
	width:126px;
	min-height:54px;
}
.nslc-payment-methods--product .nslc-payment-method-visual>img,
.nslc-payment-methods--cart .nslc-payment-method-visual>img{
	max-width:92px;
	max-height:48px;
}
.nslc-payment-methods--product .nslc-payment-method--card .nslc-payment-method-visual>img,
.nslc-payment-methods--cart .nslc-payment-method--card .nslc-payment-method-visual>img{
	max-width:55px;
	max-height:38px;
}
.nslc-payment-methods--footer{
	padding:0 24px 42px;
}
.nslc-payment-methods--footer .nslc-payment-methods-inner{
	max-width:1180px;
	padding:25px;
	border:1px solid rgba(255,255,255,.14);
	border-radius:22px;
	background:rgba(255,255,255,.055);
}
.nslc-payment-methods--footer .nslc-payment-methods-copy>strong,
.nslc-payment-methods--footer .nslc-payment-methods-copy>small{
	color:#fff;
}
.nslc-payment-methods--footer .nslc-payment-methods-copy>small{
	opacity:.66;
}

/* The cart already contains payment buttons and totals, so the supporting
 * method strip should be compact and informational rather than dominant. */
.nslc-payment-methods--cart{
	margin-top:14px;
}
.nslc-payment-methods--cart .nslc-payment-methods-inner{
	grid-template-columns:minmax(125px,150px) minmax(0,1fr);
	align-items:center;
	gap:12px;
	max-width:900px;
}
.nslc-payment-methods--cart .nslc-payment-methods-copy{
	gap:3px;
}
.nslc-payment-methods--cart .nslc-payment-methods-copy>span{
	font-size:8px;
}
.nslc-payment-methods--cart .nslc-payment-methods-copy>strong{
	font-size:15px;
	line-height:1.15;
}
.nslc-payment-methods--cart .nslc-payment-methods-copy>small{
	display:none;
}
.nslc-payment-methods--cart .nslc-payment-methods-list{
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:7px;
}
.nslc-payment-methods--cart .nslc-payment-method{
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:4px;
	min-height:70px;
	padding:7px 5px;
	border-radius:11px;
	box-shadow:0 5px 14px rgba(18,21,46,.055);
	text-align:center;
}
.nslc-payment-methods--cart .nslc-payment-method-visual{
	flex:0 0 auto;
	justify-content:center;
	width:100%;
	min-height:28px;
}
.nslc-payment-methods--cart .nslc-payment-method-visual>img{
	max-width:50px;
	max-height:25px;
}
.nslc-payment-methods--cart .nslc-payment-method--card .nslc-payment-method-visual>img{
	max-width:28px;
	max-height:19px;
}
.nslc-payment-methods--cart .nslc-payment-method--crypto .nslc-payment-method-visual>img{
	max-width:25px;
	max-height:25px;
}
.nslc-payment-methods--cart .nslc-payment-method-text{
	display:block;
}
.nslc-payment-methods--cart .nslc-payment-method-text>strong{
	display:block;
	font-size:9px;
	line-height:1.2;
}
.nslc-payment-methods--cart .nslc-payment-method-text>small{
	display:none;
}
@media(max-width:1050px){
	.nslc-payment-methods-inner{
		grid-template-columns:1fr;
		gap:16px;
	}
	.nslc-payment-methods-copy>strong,
	.nslc-payment-methods-copy>small{
		max-width:none;
	}
	.nslc-payment-methods-list{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}
@media(max-width:760px){
	.nslc-payment-methods{
		padding:24px 16px;
	}
	.nslc-payment-methods-list{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:10px;
	}
	.nslc-payment-method{
		align-items:center;
		justify-content:center;
		flex-direction:column;
		min-height:124px;
		padding:12px 8px;
		text-align:center;
		overflow:visible;
	}
	.nslc-payment-method-visual{
		flex:0 0 auto;
		justify-content:center;
		width:100%;
		min-height:48px;
	}
	.nslc-payment-method-visual>img{
		display:block!important;
		visibility:visible!important;
		opacity:1!important;
		flex:0 1 auto;
		min-width:0;
		max-width:94px;
		max-height:48px;
	}
	.nslc-payment-method--card .nslc-payment-method-visual>img{
		max-width:52px;
		max-height:36px;
	}
	.nslc-payment-method--crypto .nslc-payment-method-visual>img{
		max-width:54px;
		max-height:52px;
	}
	.nslc-payment-methods--home{
		padding-top:8px;
		padding-bottom:20px;
	}
	.nslc-payment-methods--product,
	.nslc-payment-methods--cart{
		padding:0;
	}
	.nslc-payment-methods--cart .nslc-payment-methods-inner{
		grid-template-columns:1fr;
		gap:8px;
	}
	.nslc-payment-methods--cart .nslc-payment-methods-list{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.nslc-payment-methods--cart .nslc-payment-method{
		min-height:68px;
	}
	.nslc-payment-methods--footer{
		padding:0 16px 28px;
	}
	.nslc-payment-methods--footer .nslc-payment-methods-inner{
		padding:18px;
	}
}
@media(max-width:430px){
	.nslc-payment-methods-list,
	.nslc-payment-methods--cart .nslc-payment-methods-list,
	.nslc-payment-methods--product .nslc-payment-methods-list{
		grid-template-columns:1fr;
	}
	.nslc-payment-methods--product .nslc-payment-method-visual,
	.nslc-payment-methods--cart .nslc-payment-method-visual{
		flex-basis:auto;
		width:100%;
	}
}

/* Cart layout: keep the product table spacious and collect every purchasing
 * decision in one clear summary column on desktop. WooCommerce applies both
 * flex widths and responsive state classes to Cart Blocks, so the direct-child
 * rules deliberately reset those widths at the desktop breakpoint. */
body.woocommerce-cart .nsl-page .nsl-content{
	max-width:none!important;
}
@media(min-width:901px){
	body.woocommerce-cart .wp-block-woocommerce-cart{
		width:100%;
		max-width:1180px;
		margin-right:auto;
		margin-left:auto;
	}
	body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
		display:grid!important;
		grid-template-columns:minmax(0,1.68fr) minmax(340px,.92fr)!important;
		align-items:start!important;
		gap:clamp(28px,3vw,46px)!important;
		width:100%!important;
		max-width:none!important;
		flex-wrap:nowrap!important;
	}
	body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-components-main.wc-block-cart__main{
		grid-column:1!important;
		width:100%!important;
		max-width:none!important;
		margin:0!important;
		padding-right:0!important;
	}
	body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-components-sidebar.wc-block-cart__sidebar{
		grid-column:2!important;
		width:100%!important;
		max-width:none!important;
		margin:0!important;
		padding:22px!important;
		border:1px solid #dfe4ee;
		border-radius:20px;
		background:#fff;
		box-shadow:0 16px 42px rgba(18,21,46,.075);
	}
	body.woocommerce-cart .wc-block-cart__sidebar .nslc-volume-campaign-notice{
		margin-bottom:18px;
		padding:13px;
	}
	body.woocommerce-cart .wc-block-cart__sidebar .nslc-payment-methods--cart .nslc-payment-methods-inner{
		grid-template-columns:1fr;
		gap:9px;
		max-width:none;
	}
	body.woocommerce-cart .wc-block-cart__sidebar .nslc-payment-methods--cart .nslc-payment-methods-list{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	body.woocommerce-cart .wc-block-cart__sidebar .nslc-payment-methods--cart .nslc-payment-method{
		min-height:66px;
	}

	/* Equivalent placement for installations still using the classic cart
	 * shortcode instead of the Cart Block. */
	body.woocommerce-cart .woocommerce-cart-form{
		float:left;
		width:calc(65% - 22px);
	}
	body.woocommerce-cart .cart-collaterals{
		float:right;
		width:calc(35% - 22px);
	}
	body.woocommerce-cart .cart-collaterals .cart_totals{
		float:none;
		width:100%;
		padding:22px;
		border:1px solid #dfe4ee;
		border-radius:20px;
		background:#fff;
		box-shadow:0 16px 42px rgba(18,21,46,.075);
	}
}

@media(max-width:900px){
	body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
		display:flex!important;
		flex-direction:column;
		gap:24px;
	}
	body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-components-main.wc-block-cart__main,
	body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-components-sidebar.wc-block-cart__sidebar{
		width:100%!important;
		max-width:none!important;
		margin:0!important;
		padding-right:0!important;
		padding-left:0!important;
	}
	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .cart-collaterals{
		float:none;
		width:100%;
	}
}

/* Product pages have a much narrower purchase column than the homepage.
 * Present the verified methods as a concise 2 x 2 logo grid so the payment
 * information stays close to Add to cart without overpowering the product. */
.nslc-payment-methods--product{
	margin-top:13px;
}
.nslc-payment-methods--product .nslc-payment-methods-inner{
	gap:8px;
}
.nslc-payment-methods--product .nslc-payment-methods-copy{
	gap:2px;
}
.nslc-payment-methods--product .nslc-payment-methods-copy>span{
	font-size:7px;
	letter-spacing:.15em;
}
.nslc-payment-methods--product .nslc-payment-methods-copy>strong{
	font-size:14px;
	line-height:1.15;
}
.nslc-payment-methods--product .nslc-payment-methods-copy>small{
	display:none;
}
.nslc-payment-methods--product .nslc-payment-methods-list{
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:7px;
}
.nslc-payment-methods--product .nslc-payment-method{
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:4px;
	min-height:66px;
	padding:7px 6px;
	border-radius:11px;
	box-shadow:0 5px 14px rgba(18,21,46,.05);
	text-align:center;
}
.nslc-payment-methods--product .nslc-payment-method-visual{
	flex:0 0 auto;
	justify-content:center;
	width:100%;
	min-height:27px;
}
.nslc-payment-methods--product .nslc-payment-method-visual>img{
	display:block!important;
	visibility:visible!important;
	opacity:1!important;
	width:auto;
	max-width:48px;
	height:auto;
	max-height:24px;
}
.nslc-payment-methods--product .nslc-payment-method--card .nslc-payment-method-visual>img{
	max-width:27px;
	max-height:18px;
}
.nslc-payment-methods--product .nslc-payment-method--crypto .nslc-payment-method-visual>img{
	max-width:24px;
	max-height:24px;
}
.nslc-payment-methods--product .nslc-payment-method-text{
	display:block;
}
.nslc-payment-methods--product .nslc-payment-method-text>strong{
	display:block;
	font-size:9px;
	line-height:1.2;
}
.nslc-payment-methods--product .nslc-payment-method-text>small{
	display:none;
}

@media(max-width:430px){
	.nslc-payment-methods-list,
	.nslc-payment-methods--cart .nslc-payment-methods-list,
	.nslc-payment-methods--product .nslc-payment-methods-list{
		grid-template-columns:1fr;
	}
	.nslc-payment-methods--product .nslc-payment-method{
		min-height:62px;
		padding:6px 4px;
	}
}
