/* ==========================================================================
   #region Variables
   ========================================================================== */
   body {
	--font-family: PT Sans, ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
	
	--color-primary: rgb(16 17 17);
	--color-primary-text: #fff;
	--color-secondary: rgb(255, 211, 0);
	--color-secondary-text: #000);
	--color-links: rgb(16 17 17);
	--color-links-hover: rgb(255, 211, 0);
	--color-background: #ffffff; /* Not implemented fully to work with other colors*/
	
	--color-table-primary: #fff;
	--color-table-secondary: #fff;
	--color-table-highlight: #eee;
	--color-table-border: #ddd;

	/* PLP Elements */
	--color-plp-thumbs-border: #eee;
	--plp-thumb-image-radius: 8px;
		
	/* Button Variables */
	--button-font-size: 16px;
	--button-padding: 6px 12px;
	--button-border-radius: 5px;
	--button-transition: all 0.1s ease-in-out;
	--button-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
	--color-button: rgb(255, 211, 0);
	--color-button-text: rgb(16 17 17);
	--color-button-border: rgb(255, 211, 0);
	--color-button-hover: rgb(16 17 17);
	--color-button-hover-text: #fff;
	--color-button-hover-border: rgb(16 17 17);
	
	--color-form-border: #ddd;
	--color-image-carousel-border: #ddd;
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ========================================================================== 
#region Button Styles
========================================================================== */
.ui-button {
	transition: var(--button-transition);
	background: var(--color-button) !important;
	border-color: var(--color-button-border) !important;
	color: var(--color-button-text) !important;
	border-radius: var(--button-border-radius);
	padding: var(--button-padding);
	font-size: var(--button-font-size) !important;
	box-shadow: var(--button-box-shadow);
	border-width: 1px;
	font-weight: bold !important;
}
.ui-button:hover,
.ui-button:focus {
	background: var(--color-button-hover) !important;
	border-color: var(--color-button-hover-border) !important;
	color: var(--color-button-hover-text) !important;
	font-weight: 500;
}
.ui-dialog-titlebar .ui-button {
	padding: 0 !important;
}
.ui-dialog-titlebar .ui-button:hover {
	background: none !important;
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ========================================================================== 
#region Breadcrumb Style 
========================================================================== */
#plp-bread-crumb {
	background: 0 0 !important;
	border: none !important;
	color: var(--color-links) !important;
	padding-left: 0 !important;
	font-weight: normal;
	margin-bottom: 0.5rem;
	/* font-size: 0px; */
	& a {
		color: var(--color-links) !important;
		text-decoration: none;
		font-size: 14px;
		&:hover {
			text-decoration: underline;
			&:first-child {
				margin-left: 0;
			}
		}
	}
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ========================================================================== 
Header Links (Submittal, Ecomerce, Quotes, Shopping Cart, Account) 
========================================================================== */
#plp-header-links {
	color: var(--color-links) !important;
	& a {
		text-decoration: none !important;
		color: var(--color-links) !important;
		line-height: 50px;
		padding: 0 0 0 10px;
		&:hover {
			text-decoration: underline !important;
			color: var(--color-links-hover) !important;
		}
	}
	& #custom-submittal-widget {
		margin: 0 10px;
	}
}
/* Header Links pop-up window */
#ecomm-cart-info, #rfq-cart-info {
	& a#ecomm-view-cart, a#rfq-view-cart {
		color: var(--color-button-text) !important;
		&:hover {
			color: var(--color-button-hover-text) !important;
		}
	}
	& img {
		max-width: 50px;
		padding: 0 5px;
	}
}
nav#plp-header-links {
	height: auto !important;
	margin: 0 auto;
	color: var(--color-links);
	& ul li.cart-widget section.cart-widget-info, #my-account-widget .ui-widget-content {
		border-radius: 10px;
		box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
		border-color: lightgray;
	}
	float: right;
}
/* CAD Cart pop-up */
#plp-cad-cartbench {
	font-family: var(--font-family);
	& .filter-type {
		height: auto;
	}
	& .plp-cadqueue > ul {
		width: max-content;
		margin: 5px 0px;
		& >
		li {
			border-color: lightgray !important;
			border-radius: 3px;
		}
	;
		min-width: 200px;
	}
	& menu.filter-list {
		background-color: #fff !important;
		border-color: lightgray !important;
		border-radius: 10px;
		border-top-left-radius: 0px;
		box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
		top: 2em;
	}
	& .plp-cadqueue {
		color: #000;
	}
	& .plp-cadqueue + ol.all-container {
		height: auto;
		& > li > .close {
			float: none;
			display: flex;
			& >	a {
				font-weight: 600;
				padding: 12px 8px !important;
				display: inline-block;
				margin: 3px 3px;
				transition: var(--button-transition);
				border-radius: var(--button-border-radius);
				background-color: var(--color-button) !important;
				border-color: var(--color-button-border) !important;
				min-width: 180px;
				text-align: center;
				width: 100%;
				&:hover {
					text-decoration: underline;
					background-color: var(--color-button-hover) !important;
					border-color: var(--color-button-hover-border) !important;
				}
			}
		}
	}
}

/* ======== Adjusting for medium sized images ===== */
#plp-list-description .plp-list-info.plp-list-info-right, #plp-tree-description .plp-tree-info.plp-tree-info-right {
/* padding: 0 0 0 224px !important; */
}
#plp-list-description .plp-list-thumb.plp-list-thumb-left {
/* width: auto; */
}

/* ============== Black/White Icons ============= */
body[data-pagetype=CADPublisher] .ui-icon,
body[data-pagetype=Category] .ui-icon,
body[data-pagetype=CategoryResult] .ui-icon,
body[data-pagetype=ItemDetail] .ui-icon {
background-image: url("white.png") !important;
}
body[data-pagetype=Category] .ui-state-active .ui-icon, body[data-pagetype=Category] .ui-button:active .ui-icon,
body[data-pagetype=CategoryResult] .ui-state-active .ui-icon, body[data-pagetype=CategoryResult] .ui-button:active .ui-icon,
body[data-pagetype=ItemDetail] .ui-state-active .ui-icon, body[data-pagetype=ItemDetail] .ui-button:active .ui-icon {
background-image: url("white.png") !important;
}
.plp-info > div .ui-icon {
background-image: url("black.png") !important;
}
/* ==========================================================================	
Main Body Page Style 
========================================================================== */
body, body[data-pagetype=CADPublisher] {
	background: var(--color-background);
	margin: 0;
}
#plp-container {
	width: 80% !important;
	background: var(--color-background) !important;
	padding-bottom: 1rem !important;
	padding-top: 1rem !important;
}
body[data-pagetype=CADPublisher] #plp-container {
	padding: 0 !important;	
}
body .ui-widget {
	font-family: var(--font-family);
	font-size: 1em;
}
@media (min-width: 1200px) {
	#plp-container, div[data-id="plp-searchbox"], #plp-cad-cartbench, #plp-terms {
		width: 80% !important;
	}
	nav#plp-header-links {
		margin-right: 10%;
	}
}
@media (max-width: 1199px) {
	#plp-container, div[data-id="plp-searchbox"], #plp-cad-cartbench, #plp-terms {
		width: 85% !important;
	}
	nav#plp-header-links {
		margin-right: 7.5%;
	}
}
@media (max-width: 991px) {
	#plp-container, div[data-id="plp-searchbox"], #plp-cad-cartbench, #plp-terms {
		width: 90% !important;
	}
	nav#plp-header-links {
		margin-right: 5%;
	}
}
@media (max-width: 767px) {
	#plp-container, div[data-id="plp-searchbox"], #plp-cad-cartbench, #plp-terms {
		width: 95% !important;
	}
	nav#plp-header-links {
		margin-right: 2.5%;
	}
}
/* ==========================================================================
General Components Style 
========================================================================== */
a[href="/plp/htm/ibot.htm"],
#plp-container > .plp-page-spacer12:first-child, #plp-container > .plp-page-spacer12:nth-of-type(2) {
display: none;
}
#plp-cad-cartbench, #plp-terms {
margin: 0px auto;
float: none;
display: flex;
}
.header .ui-widget-header a {
color: var(--color-secondary-text) !important;
}
.ui-widget-header, .ui-state-default.ui-state-active > a, .ui-widget-header .ui-state-default.ui-state-active, .ui-state-active, .ui-state-active > a, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, .filter-button.ui-state-default, .filter-option a {
background: var(--color-primary) !important;
border: 1px solid var(--color-primary) !important;
color: var(--color-primary-text) !important;
}
.ui-widget-content .ui-state-active {
background: var(--color-secondary) !important;
border: 1px solid var(--color-secondary) !important;
color: var(--color-secondary-text) !important;
}
.ui-widget-header.plp-action-bar, .ui-widget-header .ui-state-default,.ui-accordion .ui-accordion-header.ui-state-default, .ui-tabs-nav .ui-tabs-anchor {
background: var(--color-secondary) !important;
border: 1px solid var(--color-secondary) !important;
color: var(--color-secondary-text) !important;
}
.ui-accordion .ui-accordion-header.ui-state-default  {
background: var(--color-primary) !important;
border: 1px solid var(--color-primary) !important;
color: var(--color-primary-text) !important;
}
.ui-widget-content .ui-state-hover:not(.ui-button), .ui-widget-content .ui-state-focus {
background: var(--color-table-highlight) !important;
border: none;
}
#plp-anchors a, #plp-container .plp-page-rfi-switchbutton a, #plp-item-table-anchors a, #plp-list-description li div a, #plp-page-actions a, #plp-thumbs a, #plp-tree-description a, #recaptcha_privacy a, .plp-promo a, .plp-table-value a, .read-less-right a, .read-more-right a, .treeview a {
text-decoration: none !important;
color: var(--color-links) !important;
}
#plp-anchors a:hover, #plp-container .plp-page-rfi-switchbutton a:hover, #plp-item-table-anchors a:hover, #plp-list-description li div a:hover, #plp-page-actions a:hover, #plp-thumbs a:hover, #plp-tree-description a:hover, #recaptcha_privacy a:hover, .plp-promo a:hover, .plp-table-value a:hover, .read-less-right a:hover, .read-more-right a:hover, .treeview a:hover {
text-decoration: underline !important;
color: var(--color-links-hover) !important;
}
.ui-tabs .ui-tabs-panel {
padding: 0 !important;
}
#plp-product-title {
	margin-bottom: 5px !important;
}
#plp-product-title > h1 {
font-weight: 700;
font-size: 2em !important;
}
.ui-widget-shadow {
background-color: #eeeeee !important;
background: none;
}
#plp-description-with-image, #plp-item-description-with-image {
display: flex;
border-radius: 10px;
/* Image Carousel Style */
& .plp-image-carousel {
	background: none;
	border-radius: 5px;
	border: 1px solid var(--color-image-carousel-border);
	& li {
		background-color: var(--color-background) !important;
	}
}
& .plp-image-ctn {
	margin-right: 20px;
	margin-left: 5px;
	border: 0;
}
& .caroufredsel_wrapper {
	border-radius: 5px 5px 0px 0px;
	border-bottom: 1px solid var(--color-image-carousel-border);
}
& #pager2 {
	background-color: var(--color-image-carousel-border);
	border-radius: 0px 0px 5px 5px;
}
& #imageGallery {
	z-index: 99999;
}
}
#plp-sidebar-compare {
& .plp-sidebar-compare-item {
	padding-bottom: 4px !important;
}
& .plp-sidebar-delete-item {
	padding-top: 1px !important;
}
}
.ui-state-highlight:not(.ui-pnotify) {
background: white;
border-color: var(--color-primary);
border-radius: 10px;
}
.ui-pnotify {
	/* Error Message Colors */
	--color-error-bg: #fdecea;    /* Soft light red background */
	--color-error-border: #f5c6cb;  /* Slightly darker border for error */
	--color-error-text: #a94442;    /* Rich red for error text */

	/* Success Message Colors */
	--color-success-bg: #e6f9ea;    /* Soft light green background */
	--color-success-border: #c8e6c9;  /* Slightly darker border for success */
	--color-success-text: #3c763d;    /* Standard green for success text */
& .ui-pnotify-container {
	border-radius: 10px;
	&.ui-state-error {
		background: var(--color-error-bg);
		border-color: var(--color-error-border);
		color: var(--color-error-text);
	}
}
&.custom-success {
	& .ui-pnotify-container {
		border-radius: 10px;
		background: var(--color-success-bg);
		border-color: var(--color-success-border) !important;
		color: var(--color-success-text) !important;
	}
}
}

/* ==========================================================================
#region Category Page Styles
========================================================================== */
body[data-pagetype="Category"] #plp-thumbs {
border-spacing: 20px 15px;
}
body[data-pagetype="Category"] .plp-thumb {
border-color: var(--color-plp-thumbs-border);
border-radius: 0.4rem;
box-shadow: -0.2rem 0.2rem 0.4rem 0px rgb(0, 0, 0, 3%);
padding: 10px;
& img {
	border-radius: var(--plp-thumb-image-radius);
	transition: all 0.25s ease-in-out;
}
&:hover img {
	scale: 1.05;
}
& > span {
	padding-left: 12px;
	font-size: 1rem;
}
& ul {
	padding: 0 12px 6px 12px;
	font-size: 0.9rem;
	& li a {
		font-size: 0.8rem;
		&:hover {
			color: var(--color-link-hover) !important;;
			text-decoration: underline !important;
		}
	}
}
}
body[data-pagetype="Category"] {
& #plp-list-description, #plp-tree-description {
	border-color: var(--color-plp-thumbs-border);
	border: none;
	& > li {
		border: 1px solid var(--color-plp-thumbs-border) !important;
		border-radius: 8px;
		margin-bottom: 10px;
		box-shadow: -0.2rem 0.2rem 0.4rem 0px rgb(0, 0, 0, 3%);
	}
}
}
body[data-pagetype="Category"] .plp-thumb h2 {
position: relative;
border-top: 1px solid #DCDDDE;
font-size: 1rem !important;
display: block !important;
padding: 32px 6px 0px 12px;
margin-bottom: 0 !important;
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
#region CategoryResult Page Style 
========================================================================== */
@media (min-width: 1421px) {
    body[data-pagetype="CategoryResult"] table.floatThead-table[style*="table-layout: fixed"] {
        margin-top: 224px !important; 
    }
}

@media (max-width: 1420px) {
    body[data-pagetype="CategoryResult"] table.floatThead-table[style*="table-layout: fixed"] {
        margin-top: 192px !important; 
    }
}

@media (max-width: 770px) {
    body[data-pagetype="CategoryResult"] table.floatThead-table[style*="table-layout: fixed"] {
        margin-top: 120px !important; 
    }
}

body[data-pagetype="CategoryResult"] .cad-fixed-popup {
top: 190px !important; Adjust if there is a floating header */
z-index: 999999 !important;
}
table#plp-table-filter > tbody > tr:nth-child(odd) {
background: var(--color-table-primary);
}
table#plp-table-filter > tbody > tr:nth-child(even) {
background: var(--color-table-secondary);
}
table#plp-table-filter > tbody > tr.ui-state-default,
#plp-thumbs .plp-thumb.ui-state-hover {
background: var(--color-table-highlight);
}
.plp-table-wrapper {
border-color: var(--color-table-border);
border-radius: 10px;
box-shadow: 0.1rem 0.1rem 0.25rem 0px rgb(0, 0, 0, 5%);
}
img[name=ImageCADViewer] {
max-width: 18px;
}
body[data-pagetype=CategoryResult] .ui-accordion .ui-accordion-content {
padding: 0;
border-color: var(--color-table-border);
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
box-shadow: -0.2rem 0.2rem 0.4rem 0px rgb(0, 0, 0, 3%);
}
body[data-pagetype="CategoryResult"] {	
& .header td[data-sort] {
	background-color: var(--color-secondary); /* Sort Indicator, adjust color as needed */
	filter: brightness(150%);
}
& .header td[data-normal] {
	background-color: var(--color-secondary)
}
& .plp-pagination a {
	&:hover {
		color: var(--color-secondary) !important;
	}
}
& #plp-thumbs {
	border-spacing: 10px 5px;
	& .plp-thumb {
		background: rgba(255, 255, 255, 80%);
		border: var(--color-form-border);
		box-shadow: 0px 0px 8px -2px rgba(0,0,0,0.25);
	}
}
}
.plp-info div {
background: rgb(255,255,255,80%);
border-radius: 8px;
border-color: var(--color-secondary);
box-shadow: 0px 0px 8px -2px rgba(0,0,0,0.25);
}
/* No Wrap for PN */
body[data-pagetype="CategoryResult"] #plp-table-filter tr td:first-child {
& > span[itemprop="sku"] {
	display: flex;
	align-items: center;
	& input {
		margin-right: 5px;
	}
	& a {
		/* white-space: nowrap; */
		margin: auto;
	}
}
}
body[data-pagetype="CategoryResult"] #plp-table-filter tr td:first-child a {
text-decoration: underline !important;
}
body[data-pagetype="CategoryResult"] #plp-table-filter tr td:first-child a:hover {
text-decoration: none !important;
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
Filter Style or Result Page 
========================================================================== */
.plp-2-column-right #plp-sidebar {
width: calc(19.5% - 8px) !important;
}
.plp-2-column-right #plp-main {
width: 80% !important;
}
#plp-sidebar {
	border-color: #fff;
	box-shadow: 0rem 0.1rem 0.4rem 0px rgb(0, 0, 0, 10%);;
	& select.ui-widget-content.plp-advlistbox {
		width: 100%;
		border-color: #ddd;
		border-bottom-left-radius: 7.5px;
		border-bottom-right-radius: 7.5px;
	}
	& #plp-sidebar-info {
		& .adv-attributecontrol[data-display="ImageCheckboxes"] {
			& tbody > tr {
				display: flex;
				flex-wrap: wrap;
				padding: 0 10px;
				& input {
					margin: auto;
					width: 100%;
				}
			}
		}
		& .zoomPad img {
			max-height: 80px;
			max-width: 110px;
		}
		& .zoomWindow {
			display: none !important;
		}
	}
}
& .adv-attributecontrol {
	width: 100%
}
& .ui-accordion .ui-accordion-content {
	padding: 0;
	border: none;
}
& .plp-filter .adv-attributecontrol > ul {
	padding-left: 15px;
	& > li {
		list-style: none;
	}
}
}

/* ==========================================================================
#region ItemDetail Page Styles
========================================================================== */
body[data-pagetype=ItemDetail] #plp-item-table-tabs {
border: none !important;
}
body[data-pagetype=ItemDetail] #plp-item-table-tabs .plp-tab-content table:not(td>table) tr:nth-child(odd) {
background-color: #fff !important;
}
#plp-item-table-tabs .plp-tab-content table {
border: 1px solid var(--color-table-border) !important;
border-top: none !important;
}
.ui-tabs .ui-tabs-nav {
background: none !important;
border: none !important;
border-bottom: 1px solid var(--color-table-border) !important;
padding-left: 0 !important;
}
.ui-tabs .ui-tabs-nav li {
border-bottom-width: 1px !important;
}
body[data-pagetype=ItemDetail] {
& .ui-accordion .ui-accordion-content {
	padding: 0;
	border-color: var(--color-table-border);
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	box-shadow: -0.2rem 0.2rem 0.4rem 0px rgb(0, 0, 0, 3%);
}
& .plp-item-table {
	border-bottom-right-radius: 8px;
	border-bottom-left-radius: 8px;
	& tr:last-child {
		& td:first-of-type {
			border-bottom-left-radius: 8px;
		}
		& td:last-of-type {
			border-bottom-right-radius: 8px;
		}
	}
}
}
.plp-oddrow {
background-color: var(--color-table-secondary);
}
body[data-pagetype=ItemDetail] .ui-iconbutton {
background: var(--color-primary);
border: none;
height: 1.25em;
& .ui-icon-image {
	padding-bottom: 7px;
}
&.ui-state-hover {
 background: var(--color-secondary) !important;	
}
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
#region AdvancedSearch12 Page Style 
========================================================================== */
body[data-pagetype=AdvancedSearch12] .ui-state-default > .adv-attributecontrol + a {
border: none !important;
background: none !important;
}
body[data-pagetype=AdvancedSearch12] .ui-state-default.plp-adv-left-panel,
body[data-pagetype=AdvancedSearch12] .ui-state-default.plp-adv-right-panel {
background: #fff;
color: #000;
}
body[data-pagetype=AdvancedSearch12] select.plp-advlistbox,
body[data-pagetype=AdvancedSearch12] .adv-attributecontrol {
width: 100%
}
body[data-pagetype=AdvancedSearch12] .plp-adv-group-header a {
color: var(--color-secondary-text);
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
General Form Fields 
========================================================================== */
#formholder .plp-form-textfield, #formholder .plp-form-textfield input, #formholder .plp-form-textfield textarea, #formholder .plp-form-email-textfield, #formholder .plp-form-email-textfield input, #formholder .plp-form-email-textfield textarea {
border: 1px solid var(--color-form-border);
}
body[data-pagetype="Request"],
body[data-pagetype="Email"],
body[data-pagetype="EmailCart"],
body[data-pagetype="UserData"] {
& .buttonBar.plp-form-button:first-child {
	display: none;
}
& .buttonBar.plp-form-button {
	border: none;
	padding: 0;
	width: 100%;
}
}
.plp-request-info-form td.plp-form-heading,
.plp-request-email-info-form td.plp-form-email-heading,
.plp-cadrfx-group-body td.plp-cadrfx-left-panel,
.plp-cadrfx-group-body td.plp-cadrfx-right-panel,
.plp-cadrfx-group-body td.plp-form-heading {
background: none;
border: 1px solid var(--color-form-border) !important;
color:#333;
padding: 8px;
}
.plp-cadrfx-group-body input {
border: 1px solid #bbb;
border-radius: 3px
}
.plp-cadrfx-group-body select {
border-radius: 3px;
font-size: 0.9rem;
}
/* Form Styles */
body[data-pagetype="Request"] .plp-request-info-form,
body[data-pagetype="Email"] .plp-request-email-info-form {
box-shadow: 0px 0px 12px -2px rgba(0,0,0,0.3);
margin: 12px 10% 12px 10%;
padding: 24px 24px 24px 24px;
border-radius: 10px 10px 10px 10px;
width: -webkit-fill-available;
max-width: 80%;
width: -moz-available;
background: rgba(255, 255, 255, 100%);
}

/* ==========================================================================
#region Request Page Styles
========================================================================== */
body[data-pagetype="Request"] #formholder > table > tbody > tr:last-child {
display: none;
}
body[data-pagetype="Request"] #formholder .plp-form-heading,
body[data-pagetype="Request"] .plp-product-request-info table td.plp-product-info-blankspace,
body[data-pagetype="Request"] .plp-product-request-info table td.plp-product-number {
background:none;
border: 1px solid var(--color-form-border);
color:#333 ;
border-radius: 10px;
}
body[data-pagetype="Request"] .plp-product-attach-item .plp-product-attach-button-holder {
border: 1px solid var(--color-form-border);
border-radius: 10px;
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
#region Request Confirmation Page Styles
========================================================================== */

body[data-pagetype="RequestConfirmation"] {

}

/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
#region Email Page Styles
========================================================================== */
body[data-pagetype="Email"] {
& table td.plp-form-email-heading {
	background:none !important;
	border: 1px solid var(--color-form-border);
	color: #333;
	& .plp-email-image-container { 
		border-radius: 8px;
	}
}
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
#region Compare Page
========================================================================== */
body[data-pagetype="Compare"] {
& #plp-description-with-image + .plp-page-spacer12,
  #plp-buttonbar + .plp-page-spacer12 {
	display: none;
}
& #plp-compare-items {
	& a {
		color:var(--color-links) !important;
		text-decoration:underline !important;
	}
	& td {
		border-color: var(--color-form-border);
	}
	& td.plp-compare-product.ui-state-default {
		background: var(--color-table-highlight);
	}
	& tr:last-of-type {
		display: none;
	}
}
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
#region CAD Pop-up Window
========================================================================== */
#plpprogress.cadpublisher.ui-dialog-content.ui-widget-content.ui-dialog-normal {
padding: 0px !important;
& iframe#cadiframe {
	min-height: 760px !important;
}
}
.cadpublisher.ui-dialog-content.ui-widget-content.ui-dialog-normal {
max-height: 700px !important;
background: var(--color-background);
}
#cadviewer > iframe {
height: 477px !important;
width: 642px !important;
border: 1px solid var(--color-form-border) !important;
border-bottom: none !important;
}
.cad-fixed-popup.ui-dialog {
border-radius: 8px 8px 16px 16px;
border: none;
width: 700px !important;
& .ui-dialog-titlebar {
	font-size: 16px !important;
	padding: 0 1em !important;
	border-radius: 0;
}
}
.ui-dialog-titlebar-close {
border: none !important;
}
.ui-dialog-titlebar .ui-button {
background: none !important;
}
body[data-pagetype="CADPublisher"] {
& #plp-container {
	width: 644px !important;
	& #plp-CAD-table-tabs {
		display: flex;
		width: inherit;
	}
}
& #plp-cad-emaildownload {
	margin-bottom: 0 !important;
	width: -webkit-fill-available !important;
	width: -moz-available !important;
	border-bottom: none !important;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	& #cad-basic {
		width: -webkit-fill-available;
		width: -moz-available;
		padding: 5px 8px 5px 8px;
		& #divPlpDownloadList {
			height: 32px;
			margin-bottom: 0;
			width: 40%;
			& select {
				border-radius: var(--button-border-radius);
				font-size: 14px;
				height: 32px;
				padding-left: 5px;
			}
		}
		& div:nth-child(2) {
			width: 60%;
			& #scope-plp-cadupdateuser {
				padding: 7px 0px;
			}
		}
	}
}

& #cad-model {
	margin-top: 0px;
	margin-bottom: 0px;
	height: 478px;
	& >	article {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	& #cad-new-viewer {
		height: 478px;
		padding: 0px 0px!important;
		border-left: 1px solid var(--color-form-border) !important;
		border-right: 1px solid var(--color-form-border) !important;
		& #new-cadviewer {
			height: 478px;
		}
	}
}

& #cad-info {
	line-height: 22px;
	width: -webkit-fill-available !important;
	width: -moz-available !important;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	border: 1px solid var(--color-form-border);
	border-left: 0px;
	margin-bottom: 6px;
	& dt, dd {
		font-size: 14px;
	border: 0px solid !important;
	}
	& dd {
		color: #707070;
	}
	& dl:not(:last-child) {
		border-bottom: 1px solid var(--color-form-border);
	}
	& dl:last-child {
		& dt {
			border-bottom-left-radius: 9px;
		}
		& dd {
			border-bottom-right-radius: 10px;
		}
	}
	& >	article {
		width: -webkit-fill-available;
		width: -moz-available;
	}
}
& input.plp-rfx {
	width: 95%;
}
& #plp-additional-downloads {
	& .lblAdditionalDownloads {
		padding-top: 0;
	}
}
& .plp-page-spacer12 {
	display: none;
}
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
Default Search Style 
========================================================================== */
div[data-id="plp-searchbox"] {
margin: auto;
float: none !important;
padding-top: 20px;
& nav.plp-page-searchBox, nav.plp-page-categorySelect {
	margin: 0rem 0px 0.5rem 5px;
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	height: 28px;
}
& nav.plp-page-searchBox {
	display: flex;
	& select, input {
		padding: 4px;
		border-radius: 2px;
		margin: 0;
	}
	& select {
		border-top-right-radius: 0px;
		border-bottom-right-radius: 0px;
	}
	& input {
		border-left: 1px solid var(--color-primary);
		border-top-left-radius: 0px;
		border-bottom-left-radius: 0px;
		border-top: 0px;
		border-bottom: 0px;
	}
}
& .plp-page-categorySelect {
	border-color: var(--color-primary);
	& select {
		border-radius: 2px;
		background-color: white;
		height: 28px;
	}
}
}

/* ==========================================================================
#region Keyword Page Styles
========================================================================== */
body[data-pagetype="Keyword"] {
& .plp-search-result-with-imgRight .plp-search-row {
	width: 100%;
}
& .plp-search-selection {
	background: none !important;
	border: none !important;
	box-shadow: none;
}
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
#region NotFound Page Styles
========================================================================== */
body[data-pagetype="NotFound"] {
& header, 
footer,
div[data-id="plp-searchbox"] {
	display: none;
}
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
Cart Page 
========================================================================== */
#view-cart-shipping-widget, #ecomm-tax-exempt {
background: none !important;
border: none !important;
}
#ecomm-item-summary-quote {
& #ecomm-review-order {
	background: rgb(255,255,255,80%);
	clip-path: inset(0% 0% 0% 0% round 8px 8px 15px 15px);
	& dl {
		& > dd:last-child {
			border-right: none;
		}
		& > dd:first-child {
			border-left: none;
		}
	}
	& > dl:last-child {
		& > dd {
			border-bottom: none;
		}
	}
}	
}
/* ==========================================================================
CAD Cart Page 
========================================================================== */
#plp-cadcart-page-pagination .plp-cadcart-pageinfo {
background: var(--color-primary);
color: var(--color-primary-text);
}

/* ==========================================================================
Express Ordering Page 
========================================================================== */
#plp-expressorder {
& .ecomm-express-item {
	background: rgba(255, 255, 255, 80%);
	border: none;
	border-radius: 5px;
	& input[type="checkbox"] {
		margin-right: 5px;
		margin-top: 0px;
	}
}
}
#ecomm-search-part {
background: rgba(255, 255, 255, 80%);
border: none;
border-radius: 10px;
box-shadow: 0px 0px 10px -2px rgba(0,0,0,0.25);
}


/* ==========================================================================
#region Configurator Page Styles
========================================================================== */
body[data-pagetype=Configurator] {
& #plp-buttonbar-configure {
	margin: 5px 0px;
	& > span {
		margin-left: 6px;
	}
}
& #plp-configurator #plp-configure-accordion table td {
	background: 0 0;
	color: black;
}
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* ==========================================================================
#region Submittal Cart Style
========================================================================== */
body[data-pagetype=RFP] {
#plp-sc-search {
	background: rgba(255, 255, 255, 80%);
	border: none;
	border-radius: 10px;
	box-shadow: 0px 0px 10px -2px rgba(0,0,0,0.25);
}
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */


/* ==========================================================================
#region BetterResponsivness Styles 
========================================================================== */
@media (max-width: 992px) {
.plp-page-divider:has(+ #plp-page-pagination-table),
 #plp-page-pagination-table {
	width: 100% !important;
}
}
@media (max-width: 768px) {
body[data-pagetype=CategoryResult], body[data-pagetype=ItemDetail] {
	& .firstcolumn, .secondcolumn, .plp-2-column-right #plp-sidebar, .plp-2-column-right #plp-main {
		width: 100% !important;
	}
}
body[data-pagetype="Request"] .plp-request-info-form, body[data-pagetype="Email"] .plp-request-email-info-form {
	max-width: 100%;
	margin: 12px 0% 12px 0%;
}
body[data-pagetype="Category"] #plp-thumbs {
	border-spacing: 0px 5px;
	& .plp-thumb-row {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}
	& .plp-thumb {
		flex-basis: calc(50% - 10px);
		margin-bottom: 10px;
		margin-right: 5px;
	}
}
nav#plp-header-links ul li.cart-widget,
#express-ordering-widget {
	margin: 0 5px !important;
	& a {
		padding-left: 0px;
	}
}
.plp-action-bar {
	height: auto !important;;
}
}
/* --------------------------------------------------------------------------
#endregion
-------------------------------------------------------------------------- */

/* Input ranges on Advanced Search */
.adv-attributecontrol[data-display='CheckboxesList'] {
	& > ul {
		padding: 10px;
		& input {
			margin-right: 5px;
		}
	}
}
/* Input ranges on Advanced Search */
body[data-pagetype="AdvancedSearch12"] .adv-attributecontrol[data-display='Range'],
body[data-pagetype="CategoryResult"] .adv-attributecontrol[data-display='Range'] {
  box-sizing: border-box;
  & > span, > br {
    display: none;
  }
  & .range-grid-container {
    display: grid;
    grid-template-columns: minmax(70px, 120px) 1fr;
    grid-gap: 10px;
    margin: 15px 5px;
    align-items: center;
    
    @media (max-width: 768px) {
      grid-template-columns: 1fr;
      grid-gap: 5px;
    }
    
    & .range-label {
      text-align: right;
      /*! white-space: nowrap; */
      
      @media (max-width: 768px) {
        text-align: left;
        margin-bottom: 2px;
      }
    }
    
    & .range-slider-container {
      display: flex;
      align-items: center;
      min-width: 0; /* Allows flex items to shrink below content size */
      
      & .range-input {
        flex: 1;
        min-width: 0; /* Allows range input to shrink */
        margin-right: 10px;
        height: 6px;
        -webkit-appearance: none;
        appearance: none;
        background: #e0e0e0;
        border-radius: 3px;
        outline: none;
        
        @media (max-width: 480px) {
          margin-right: 5px;
        }
        
        /* Slider track styling for WebKit (Chrome, Safari) */
        &::-webkit-slider-runnable-track {
          height: 6px;
          border-radius: 3px;
          background: linear-gradient(to right, #ffd300 0%, #ffd300 var(--slider-percent, 50%), #e0e0e0 var(--slider-percent, 50%), #e0e0e0 100%);
        }
        
        /* Firefox track styling */
        &::-moz-range-track {
          height: 6px;
          border-radius: 3px;
          background: #e0e0e0;
        }
        
        /* Firefox progress styling - this is key for Firefox */
        &::-moz-range-progress {
          height: 6px;
          border-radius: 3px;
          background-color: #ffd300;
        }
        
        /* Slider thumb styling */
        &::-webkit-slider-thumb {
          -webkit-appearance: none;
          appearance: none;
          width: 18px;
          height: 18px;
          border-radius: 50%;
          background: #000;
          border: 2px solid #ffd300;
          cursor: pointer;
          margin-top: -6px; /* to center the thumb on the track */
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
          transition: all 0.2s ease;
        }
        
        &::-moz-range-thumb {
          width: 14px; /* Slightly smaller for Firefox to account for border */
          height: 14px;
          border-radius: 50%;
          background: #000;
          border: 2px solid #ffd300;
          cursor: pointer;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
          transition: all 0.2s ease;
        }
        
        /* Hover effects */
        &:hover::-webkit-slider-thumb {
          transform: scale(1.1);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
        }
        
        &:hover::-moz-range-thumb {
          transform: scale(1.1);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
        }
        
        /* Focus effects */
        &:focus {
          outline: none;
        }
        
        &:focus::-webkit-slider-thumb {
          box-shadow: 0 0 0 3px rgba(255, 211, 0, 0.3);
        }
        
        &:focus::-moz-range-thumb {
          box-shadow: 0 0 0 3px rgba(255, 211, 0, 0.3);
        }
      }
      
      & .range-value {
        min-width: 45px;
        width: 45px; /* Fixed width to prevent layout shifts */
        text-align: right;
        font-weight: bold;
        white-space: nowrap;
        overflow: hidden;
        
        @media (max-width: 480px) {
          min-width: 30px;
          width: 30px;
        }
      }
    }
    max-width: 500px;
  }
}
/* hiding the range inputs before the script runs*/
body[data-pagetype="CategoryResult"] .adv-attributecontrol[data-display='Range']:not(:has(.range-grid-container)) {
	visibility: hidden;
}

/*Left filter*/
body[data-pagetype="CategoryResult"] .adv-attributecontrol[data-display='Range'] .range-grid-container {
	grid-template-columns: 70px 1fr;
}

/* Thumb view on Category Result */
#plp-thumbs {
	width: 100% !important;
	& .plp-thumb-row {
		/* display: inline-flex; */
		flex-wrap: wrap;
	}
	& .plp-thumb {
		margin: 3px 5px;
		border-radius: 8px;
		border: 1px solid #eee;
		box-shadow: 2px 2px 6px 0px rgb(100, 100, 100, 15%)
	}
	& .plp-thumb img {
		transition: all 0.2s ease-in-out;
	}
	& .plp-thumb.ui-state-hover img, .plp-thumb.ui-state-default img {
		scale: 1.1;
	}
}

.plp-thumb-row .plp-thumb.ui-corner-all.ui-widget-content {
    height: 169px;
}

/* Special All categories Layout */
#plp-list-description.special-layout {
	margin: 15px auto !important;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px; /* Increased gap for better spacing */
  /*! max-width: 1500px; */
  
  @media (max-width: 768px) {
    grid-template-columns: 1fr; /* Stack on mobile */
  }

  & li {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden; /* Keep content within rounded corners */
    background-color: #fff !important; /* Explicit background color */
    height: 100%; /* Equal height tiles */
    
    &:hover {
      transform: translateY(-5px); /* Slight lift effect on hover */
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12); /* Enhanced shadow on hover */
    }

    & .plp-list-thumb {
      margin: 0;
      width: 100%;
      height: 220px; /* Fixed height for consistency */
      overflow: hidden; /* Contain the image */
      & img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.4s ease;
      }
    }
    
    &:hover .plp-list-thumb img {
      transform: scale(1.05); /* Subtle zoom effect on hover */
    }
  }

  & .plp-list-info.plp-list-info-right {
    padding: 20px; /* More generous padding */
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Allow it to fill available space */
    
    & .plp-list-name {
      /* Title */
      font-size: 1.5rem !important;
      font-weight: 600;
      margin-bottom: 12px;
      color: #2c3e50 !important; /* Dark blue-gray for better readability */
      line-height: 1.2;
      & a:hover {
        color: #2c3e50 !important;
      }
    }
    
    & .plp-list-description {
      font-size: 1rem;
      line-height: 1.6;
      color: #5d6778; /* Softer color for body text */
      margin-bottom: 16px;
    }
        
    &:hover::after {
      color: #2980b9; /* Darker blue on hover */
    }
  }
}

#plp-list-description.special-layout.general-category {
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
@media (max-width: 1420px) {
	#plp-list-description.special-layout.general-category {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 992px) {
	#plp-list-description.special-layout.general-category {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 768px) {
	#plp-list-description.special-layout.general-category {
		grid-template-columns: repeat(1, 1fr);
	}
}