
html.gnt-ssc-companion-open,
html.gnt-ssc-companion-open body{
	overflow:hidden !important;
}

.gnt-ssc-companion-check{
	display:flex !important;
	align-items:flex-start !important;
	gap:11px !important;
	padding:13px !important;
	margin:10px 0 8px !important;
	border:1px solid #ddd2ca !important;
	border-radius:10px !important;
	background:#fbf7f3 !important;
	cursor:pointer !important;
}

.gnt-ssc-companion-check input{
	width:19px !important;
	height:19px !important;
	min-width:19px !important;
	margin:2px 0 0 !important;
	padding:0 !important;
}

.gnt-ssc-companion-check span{
	display:block !important;
}

.gnt-ssc-companion-check strong,
.gnt-ssc-companion-check small{
	display:block !important;
}

.gnt-ssc-companion-check small{
	margin-top:4px !important;
	color:#75675e !important;
	font-weight:400 !important;
	line-height:1.4 !important;
}

.gnt-ssc-companion-actions{
	display:flex !important;
	align-items:center !important;
	flex-wrap:wrap !important;
	gap:8px !important;
	margin-top:12px !important;
}

.gnt-ssc-companion-actions[hidden]{
	display:none !important;
}

.gnt-ssc-companion-actions button{
	min-height:42px !important;
}

.gnt-ssc-companion-remove{
	border:1px solid #d9b8ad !important;
	border-radius:7px !important;
	background:#fff8f5 !important;
	color:#8e3e2e !important;
	padding:9px 12px !important;
	font-weight:700 !important;
	cursor:pointer !important;
}

.gnt-ssc-companion-summary{
	margin-top:12px !important;
	padding:11px 12px !important;
	border:1px solid #dfd5cd !important;
	border-radius:9px !important;
	background:#fff !important;
}

.gnt-ssc-companion-summary__head,
.gnt-ssc-companion-summary__item{
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:12px !important;
}

.gnt-ssc-companion-summary__head{
	padding-bottom:8px !important;
	border-bottom:1px solid #eee6df !important;
	color:#4c3020 !important;
}

.gnt-ssc-companion-summary__item{
	padding-top:8px !important;
	color:#64574f !important;
	font-size:12px !important;
}

.gnt-ssc-companion-summary__item strong{
	color:#33251e !important;
}

.gnt-ssc-companion-status{
	min-height:18px !important;
	margin:9px 0 0 !important;
	color:#75685f !important;
	font-size:12px !important;
}

.gnt-ssc-companion-project-price{
	margin-top:13px !important;
	padding-top:12px !important;
	border-top:1px solid #e1d8d1 !important;
}

.gnt-ssc-companion-project-price > div{
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:12px !important;
	padding:4px 0 !important;
}

.gnt-ssc-companion-project-price span{
	font-size:12px !important;
	color:#72655c !important;
}

.gnt-ssc-companion-project-price strong{
	color:#34251d !important;
	font-size:15px !important;
}

.gnt-ssc-companion-project-price__total{
	margin-top:5px !important;
	padding-top:8px !important;
	border-top:1px dashed #d9cdc4 !important;
}

.gnt-ssc-companion-project-price__total strong{
	font-size:20px !important;
	color:#4f2f1d !important;
}

.gnt-ssc-companion-project-price small{
	display:block !important;
	margin-top:5px !important;
	color:#786a61 !important;
	font-size:11px !important;
}

/* Modal */
.gnt-ssc-companion-modal[hidden]{
	display:none !important;
}

.gnt-ssc-companion-modal{
	position:fixed !important;
	inset:0 !important;
	z-index:9999999 !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:18px !important;
	box-sizing:border-box !important;
}

.gnt-ssc-companion-modal__backdrop{
	position:absolute !important;
	inset:0 !important;
	background:rgba(18,13,10,.76) !important;
	backdrop-filter:blur(3px) !important;
}

.gnt-ssc-companion-modal__dialog{
	position:relative !important;
	z-index:2 !important;
	display:flex !important;
	flex-direction:column !important;
	width:min(1500px, 97vw) !important;
	height:min(900px, 94vh) !important;
	overflow:hidden !important;
	border:1px solid #d9cfc7 !important;
	border-radius:14px !important;
	background:#fff !important;
	box-shadow:0 30px 90px rgba(0,0,0,.34) !important;
}

.gnt-ssc-companion-modal__header,
.gnt-ssc-companion-modal__footer{
	flex:0 0 auto !important;
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:18px !important;
	padding:14px 18px !important;
	border-bottom:1px solid #e6ddd6 !important;
	background:#fff !important;
}

.gnt-ssc-companion-modal__header h2{
	margin:0 0 3px !important;
	color:#422819 !important;
	font-size:22px !important;
}

.gnt-ssc-companion-modal__header p{
	margin:0 !important;
	color:#71645c !important;
	font-size:12px !important;
}

.gnt-ssc-companion-modal__done,
.gnt-ssc-companion-modal__footer button{
	min-height:43px !important;
	padding:10px 15px !important;
	border:0 !important;
	border-radius:7px !important;
	background:#60361f !important;
	color:#fff !important;
	font-weight:800 !important;
	cursor:pointer !important;
	white-space:nowrap !important;
}

.gnt-ssc-companion-modal__body{
	flex:1 1 auto !important;
	min-height:0 !important;
	display:grid !important;
	grid-template-columns:300px minmax(0,1fr) !important;
	background:#f5f2ef !important;
}

.gnt-ssc-companion-picker{
	min-height:0 !important;
	overflow:auto !important;
	padding:13px !important;
	border-right:1px solid #ddd4cd !important;
	background:#fff !important;
}

.gnt-ssc-companion-search{
	display:block !important;
	margin:0 0 10px !important;
}

.gnt-ssc-companion-search span{
	display:block !important;
	margin-bottom:5px !important;
	color:#493125 !important;
	font-size:11px !important;
	font-weight:800 !important;
	text-transform:uppercase !important;
	letter-spacing:.04em !important;
}

.gnt-ssc-companion-search input{
	display:block !important;
	width:100% !important;
	min-height:42px !important;
	margin:0 !important;
	padding:9px 10px !important;
	box-sizing:border-box !important;
	border:1px solid #d8cec6 !important;
	border-radius:7px !important;
	background:#fff !important;
	color:#222 !important;
	font-size:14px !important;
}

.gnt-ssc-companion-products{
	display:grid !important;
	gap:8px !important;
}

.gnt-ssc-companion-product{
	display:grid !important;
	grid-template-columns:62px minmax(0,1fr) 16px !important;
	align-items:center !important;
	gap:9px !important;
	width:100% !important;
	padding:7px !important;
	border:1px solid #e1d8d1 !important;
	border-radius:8px !important;
	background:#fff !important;
	color:#31251f !important;
	text-align:left !important;
	cursor:pointer !important;
	box-sizing:border-box !important;
}

.gnt-ssc-companion-product:hover,
.gnt-ssc-companion-product.is-selected{
	border-color:#aa7654 !important;
	background:#fbf5f0 !important;
}

.gnt-ssc-companion-product img{
	display:block !important;
	width:62px !important;
	height:54px !important;
	margin:0 !important;
	padding:0 !important;
	border-radius:5px !important;
	object-fit:cover !important;
}

.gnt-ssc-companion-product__copy{
	min-width:0 !important;
}

.gnt-ssc-companion-product__copy strong,
.gnt-ssc-companion-product__copy small{
	display:block !important;
}

.gnt-ssc-companion-product__copy strong{
	overflow:hidden !important;
	color:#3c291e !important;
	font-size:12px !important;
	line-height:1.25 !important;
	text-overflow:ellipsis !important;
}

.gnt-ssc-companion-product__copy small{
	margin-top:3px !important;
	overflow:hidden !important;
	color:#88776c !important;
	font-size:9px !important;
	line-height:1.25 !important;
	text-overflow:ellipsis !important;
}

.gnt-ssc-companion-product i{
	color:#a36d4d !important;
	font-size:20px !important;
	font-style:normal !important;
}

.gnt-ssc-companion-workspace{
	position:relative !important;
	min-width:0 !important;
	min-height:0 !important;
	overflow:hidden !important;
	background:#f6f3f0 !important;
}

.gnt-ssc-companion-workspace__empty{
	display:grid !important;
	place-content:center !important;
	height:100% !important;
	padding:30px !important;
	text-align:center !important;
	color:#6d5f56 !important;
}

.gnt-ssc-companion-workspace__empty strong{
	color:#442b1d !important;
	font-size:20px !important;
}

.gnt-ssc-companion-workspace__active{
	display:flex !important;
	flex-direction:column !important;
	height:100% !important;
}

.gnt-ssc-companion-workspace__active[hidden]{
	display:none !important;
}

.gnt-ssc-companion-toolbar{
	flex:0 0 auto !important;
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:12px !important;
	padding:9px 12px !important;
	border-bottom:1px solid #dfd7d1 !important;
	background:#faf7f4 !important;
}

.gnt-ssc-companion-toolbar span,
.gnt-ssc-companion-toolbar strong{
	display:block !important;
}

.gnt-ssc-companion-toolbar span{
	color:#8a786c !important;
	font-size:9px !important;
	font-weight:800 !important;
	text-transform:uppercase !important;
}

.gnt-ssc-companion-toolbar strong{
	margin-top:2px !important;
	color:#40291c !important;
	font-size:13px !important;
}

.gnt-ssc-companion-toolbar button{
	min-height:34px !important;
	padding:7px 10px !important;
	border:1px solid #d5c9c0 !important;
	border-radius:6px !important;
	background:#fff !important;
	color:#5d3a26 !important;
	font-weight:700 !important;
	cursor:pointer !important;
}

.gnt-ssc-companion-workspace iframe{
	flex:1 1 auto !important;
	display:block !important;
	width:100% !important;
	min-height:0 !important;
	border:0 !important;
	background:#fff !important;
}

.gnt-ssc-companion-modal__footer{
	border-top:1px solid #e4dbd4 !important;
	border-bottom:0 !important;
}

.gnt-ssc-companion-modal__footer span,
.gnt-ssc-companion-modal__footer strong,
.gnt-ssc-companion-modal__footer small{
	display:block !important;
}

.gnt-ssc-companion-modal__footer span{
	color:#74665d !important;
	font-size:10px !important;
	font-weight:700 !important;
}

.gnt-ssc-companion-modal__footer strong{
	margin-top:2px !important;
	color:#442b1d !important;
	font-size:18px !important;
}

.gnt-ssc-companion-modal__footer small{
	color:#8b7c72 !important;
	font-size:9px !important;
}

.gnt-ssc-companion-products__none{
	margin:14px 4px !important;
	color:#7a6d65 !important;
	font-size:12px !important;
}

@media (max-width: 800px){
	.gnt-ssc-companion-modal{
		padding:0 !important;
	}

	.gnt-ssc-companion-modal__dialog{
		width:100vw !important;
		height:100dvh !important;
		max-width:none !important;
		max-height:none !important;
		border:0 !important;
		border-radius:0 !important;
	}

	.gnt-ssc-companion-modal__header{
		align-items:flex-start !important;
		padding:10px 11px !important;
	}

	.gnt-ssc-companion-modal__header h2{
		font-size:17px !important;
	}

	.gnt-ssc-companion-modal__header p{
		display:none !important;
	}

	.gnt-ssc-companion-modal__header .gnt-ssc-companion-modal__done{
		min-height:38px !important;
		padding:8px 10px !important;
		font-size:11px !important;
		white-space:normal !important;
	}

	.gnt-ssc-companion-modal__body{
		grid-template-columns:1fr !important;
		grid-template-rows:auto minmax(0,1fr) !important;
	}

	.gnt-ssc-companion-picker{
		max-height:190px !important;
		padding:8px !important;
		border-right:0 !important;
		border-bottom:1px solid #ddd4cd !important;
	}

	.gnt-ssc-companion-products{
		display:flex !important;
		overflow-x:auto !important;
		gap:7px !important;
		padding-bottom:3px !important;
	}

	.gnt-ssc-companion-product{
		flex:0 0 220px !important;
		grid-template-columns:52px minmax(0,1fr) 13px !important;
	}

	.gnt-ssc-companion-product img{
		width:52px !important;
		height:48px !important;
	}

	.gnt-ssc-companion-toolbar{
		padding:7px 9px !important;
	}

	.gnt-ssc-companion-toolbar button{
		font-size:10px !important;
	}

	.gnt-ssc-companion-modal__footer{
		padding:8px 10px !important;
	}

	.gnt-ssc-companion-modal__footer button{
		min-height:40px !important;
		padding:8px 10px !important;
		font-size:11px !important;
	}
}


/* ================================================================
 * v1.12.0 — Multiple independent Stair Frames
 * ================================================================ */
.gnt-ssc-project-list{
	display:grid !important;
	gap:28px !important;
}

.gnt-ssc-project-list > .gnt-ssc{
	position:relative !important;
	padding:16px !important;
	border:1px solid #ded5ce !important;
	border-radius:15px !important;
	background:#fcfaf8 !important;
	box-shadow:0 9px 28px rgba(48,31,21,.06) !important;
}

.gnt-ssc-instance-head{
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:14px !important;
	margin:0 0 16px !important;
	padding:11px 13px !important;
	border:1px solid #e4dad2 !important;
	border-left:4px solid #60361f !important;
	border-radius:9px !important;
	background:#fff !important;
}

.gnt-ssc-instance-head span{
	display:block !important;
	color:#8a786d !important;
	font-size:9px !important;
	font-weight:800 !important;
	letter-spacing:.1em !important;
}

.gnt-ssc-instance-head h2{
	margin:2px 0 0 !important;
	color:#40281a !important;
	font-size:21px !important;
	line-height:1.15 !important;
}

.gnt-ssc-instance-head button{
	min-height:36px !important;
	padding:7px 10px !important;
	border:1px solid #d8bbb0 !important;
	border-radius:6px !important;
	background:#fff7f4 !important;
	color:#8b3d2d !important;
	font-size:11px !important;
	font-weight:800 !important;
	cursor:pointer !important;
}

.gnt-ssc-instance-head.is-added{
	border-left-color:#3d7653 !important;
	background:#f8fcf9 !important;
}

.gnt-ssc-instance-head.is-added::after{
	content:"Added to cart" !important;
	margin-left:auto !important;
	color:#3d7653 !important;
	font-size:11px !important;
	font-weight:800 !important;
}

.gnt-ssc-project-controls{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	flex-wrap:wrap !important;
	gap:10px !important;
	margin:22px 0 8px !important;
	padding:16px !important;
	border:1px dashed #d5c7bd !important;
	border-radius:11px !important;
	background:#faf6f2 !important;
}

.gnt-ssc-project-add,
.gnt-ssc-project-cart{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-height:44px !important;
	padding:10px 15px !important;
	border-radius:7px !important;
	font-weight:800 !important;
	text-decoration:none !important;
}

.gnt-ssc-project-add{
	border:1px solid #442718 !important;
	background:#60361f !important;
	color:#fff !important;
	cursor:pointer !important;
}

.gnt-ssc-project-cart{
	border:1px solid #cfc3ba !important;
	background:#fff !important;
	color:#4f3323 !important;
}

@media (max-width: 700px){
	.gnt-ssc-project-list > .gnt-ssc{
		padding:10px !important;
	}

	.gnt-ssc-instance-head{
		align-items:flex-start !important;
	}

	.gnt-ssc-instance-head h2{
		font-size:18px !important;
	}

	.gnt-ssc-project-controls{
		align-items:stretch !important;
		flex-direction:column !important;
	}

	.gnt-ssc-project-add,
	.gnt-ssc-project-cart{
		width:100% !important;
	}
}


/* v1.12.1 — native-link tread cards */
a.gnt-ssc-companion-product,
a.gnt-ssc-companion-product:visited{
	text-decoration:none !important;
	color:#31251f !important;
}

a.gnt-ssc-companion-product:focus{
	outline:2px solid rgba(96,54,31,.28) !important;
	outline-offset:1px !important;
}


/* v1.12.2 — Steel profile selections are internal on the Stair Frames product.
 * The controls remain in the DOM so the existing calculation engine continues
 * using the configured default RHS profiles.
 */
[data-gnt-ssc][data-gnt-companion-enabled="1"]
.gnt-ssc__steel-profile-internal{
	display:none !important;
	visibility:hidden !important;
	height:0 !important;
	min-height:0 !important;
	max-height:0 !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	overflow:hidden !important;
}


/* ================================================================
 * v1.12.3 — Real WooCommerce product popup window
 * ================================================================ */

.gnt-ssc-companion-popup-status{
	margin:18px auto 0 !important;
	padding:14px !important;
	max-width:430px !important;
	border:1px solid #d9cfc7 !important;
	border-radius:9px !important;
	background:#fff !important;
	box-shadow:0 5px 18px rgba(42,28,20,.06) !important;
}

.gnt-ssc-companion-popup-status strong,
.gnt-ssc-companion-popup-status span{
	display:block !important;
}

.gnt-ssc-companion-popup-status strong{
	color:#43291b !important;
	font-size:14px !important;
}

.gnt-ssc-companion-popup-status span{
	margin-top:3px !important;
	color:#776960 !important;
	font-size:11px !important;
}

.gnt-ssc-companion-popup-status button{
	min-height:38px !important;
	margin-top:10px !important;
	padding:8px 11px !important;
	border:1px solid #cdbeb4 !important;
	border-radius:6px !important;
	background:#fff !important;
	color:#593621 !important;
	font-weight:800 !important;
	cursor:pointer !important;
}

/*
 * The right-hand area now explains the popup workflow rather than trying to
 * iframe a WooCommerce product page.
 */
.gnt-ssc-companion-workspace__empty{
	background:#f8f5f2 !important;
}

.gnt-ssc-companion-workspace__empty > p{
	max-width:650px !important;
	margin-left:auto !important;
	margin-right:auto !important;
}


/* v1.13.1 — Add to Project server validation feedback */
.gnt-ssc-project-ajax-notices{
	clear:both !important;
	margin:10px 0 14px !important;
}

.gnt-ssc-project-ajax-notices:empty{
	display:none !important;
}

.gnt-ssc-project-ajax-notices .woocommerce-error,
.gnt-ssc-project-ajax-notices .woocommerce-message,
.gnt-ssc-project-ajax-notices .woocommerce-info{
	margin:0 !important;
}
