.elementor-1529 .elementor-element.elementor-element-69dc9fc{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:180px;--padding-bottom:106px;--padding-left:18px;--padding-right:18px;}.elementor-1529 .elementor-element.elementor-element-69dc9fc:not(.elementor-motion-effects-element-type-background), .elementor-1529 .elementor-element.elementor-element-69dc9fc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );background-image:url("https://thewarehouse.org.za/wp-content/uploads/2026/06/How-the-warehouse-works.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1529 .elementor-element.elementor-element-af037db{padding:9px 17px 9px 17px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#F7F4F31A;border-radius:6px 6px 6px 6px;text-align:center;}.elementor-1529 .elementor-element.elementor-element-af037db .elementor-heading-title{font-family:var( --e-global-typography-3cebc39-font-family ), Sans-serif;font-size:var( --e-global-typography-3cebc39-font-size );font-weight:var( --e-global-typography-3cebc39-font-weight );text-transform:var( --e-global-typography-3cebc39-text-transform );line-height:var( --e-global-typography-3cebc39-line-height );letter-spacing:var( --e-global-typography-3cebc39-letter-spacing );color:var( --e-global-color-81543ea );}.elementor-1529 .elementor-element.elementor-element-ddbede8{text-align:center;}.elementor-1529 .elementor-element.elementor-element-ddbede8 .elementor-heading-title{font-family:var( --e-global-typography-e7c5140-font-family ), Sans-serif;font-size:var( --e-global-typography-e7c5140-font-size );font-weight:var( --e-global-typography-e7c5140-font-weight );line-height:var( --e-global-typography-e7c5140-line-height );letter-spacing:var( --e-global-typography-e7c5140-letter-spacing );color:var( --e-global-color-81543ea );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1529 .elementor-element.elementor-element-5b0df6e{width:var( --container-widget-width, 375px );max-width:375px;--container-widget-width:375px;--container-widget-flex-grow:0;text-align:center;color:#F7F4F3E6;}.elementor-1529 .elementor-element.elementor-element-5b0df6e p{margin-block-end:0px;}.elementor-1529 .elementor-element.elementor-element-72139ac{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:72px;--padding-bottom:72px;--padding-left:18px;--padding-right:18px;}@media(min-width:1161px){.elementor-1529 .elementor-element.elementor-element-69dc9fc:not(.elementor-motion-effects-element-type-background), .elementor-1529 .elementor-element.elementor-element-69dc9fc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:1160px){.elementor-1529 .elementor-element.elementor-element-69dc9fc{--padding-top:112px;--padding-bottom:72px;--padding-left:18px;--padding-right:18px;}.elementor-1529 .elementor-element.elementor-element-af037db .elementor-heading-title{font-size:var( --e-global-typography-3cebc39-font-size );line-height:var( --e-global-typography-3cebc39-line-height );letter-spacing:var( --e-global-typography-3cebc39-letter-spacing );}.elementor-1529 .elementor-element.elementor-element-ddbede8 .elementor-heading-title{font-size:var( --e-global-typography-e7c5140-font-size );line-height:var( --e-global-typography-e7c5140-line-height );letter-spacing:var( --e-global-typography-e7c5140-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1529 .elementor-element.elementor-element-72139ac{--flex-wrap:wrap;--padding-top:72px;--padding-bottom:72px;--padding-left:18px;--padding-right:18px;}}@media(max-width:767px){.elementor-1529 .elementor-element.elementor-element-af037db .elementor-heading-title{font-size:var( --e-global-typography-3cebc39-font-size );line-height:var( --e-global-typography-3cebc39-line-height );letter-spacing:var( --e-global-typography-3cebc39-letter-spacing );}.elementor-1529 .elementor-element.elementor-element-ddbede8 .elementor-heading-title{font-size:var( --e-global-typography-e7c5140-font-size );line-height:var( --e-global-typography-e7c5140-line-height );letter-spacing:var( --e-global-typography-e7c5140-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for shortcode, class: .elementor-element-c82d541 */.quote-page {
	display: block;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	background-color: #FFFFFF;
	border: 2px solid rgba(26,22,18,0.10);
	border-radius: 12px;
	padding: 60px;
	font-family: 'Inter', sans-serif;
	color: #1A1612;
	box-sizing: border-box;
}
.quote-page * { box-sizing: border-box; }
.quote-page .woocommerce-notices-wrapper:empty { display: none; }

/* ---- Quote table: flex-based rows so the SAME design renders at every screen size ---- */
/* (avoids fighting <table> auto-layout and WooCommerce's own woocommerce-smallscreen.css, */
/*  which activates <=768px and used to force a completely different stacked/labelled look) */
.quote-page table.wtwraq-request-quote-product-list,
.quote-page table.wtwraq-request-quote-product-list.shop_table,
.quote-page table.wtwraq-request-quote-product-list tbody,
.quote-page table.wtwraq-request-quote-product-list tr,
.quote-page table.wtwraq-request-quote-product-list td {
	display: block;
	width: auto;
	border: none !important;
	box-shadow: none !important;
	background: none !important;
}
.quote-page table.wtwraq-request-quote-product-list {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 40px;
}
/* Column headers (Image / Product / Price) hidden — not needed */
.quote-page table.wtwraq-request-quote-product-list thead {
	display: none !important;
}

/* Each product row = one off-white card, no border lines, rounded corners — identical rules
   at every breakpoint, so tablet/mobile always match desktop exactly. */
.quote-page table.wtwraq-request-quote-product-list tbody tr:not(:last-child) {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	width: 100%;
	background-color: rgba(26,22,18,0.025) !important;
	border-radius: 6px;
	padding: 10px 15px;
	margin-bottom: 10px;
}
.quote-page table.wtwraq-request-quote-product-list tbody tr:not(:last-child) > td {
	padding: 0 !important;
	border: none !important;
	background: none !important;
}
/* Kill WooCommerce's ::before label injection and forced right-align — both are part of
   woocommerce-smallscreen.css and would otherwise re-appear below 768px. */
.quote-page table.wtwraq-request-quote-product-list tbody tr td::before {
	content: none !important;
	display: none !important;
}
.quote-page table.wtwraq-request-quote-product-list tbody tr td.product-name,
.quote-page table.wtwraq-request-quote-product-list tbody tr td.product-remove {
	text-align: left !important;
}

/* Remove (×) icon — first item in the row */
.quote-page table.wtwraq-request-quote-product-list td.product-remove {
	flex: 0 0 auto !important;
	width: auto !important;
}
.quote-page .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	color: #1A1612;
	background: rgba(26,22,18,0.08);
	text-decoration: none;
	font-size: 16px;
	line-height: 1;
	transition: background-color .2s ease, color .2s ease;
}
.quote-page .product-remove a.remove:hover { background: #BAFF26; color: #1A1612; }

/* Thumbnail — 100x100, always visible (WooCommerce's stylesheet hides it on table.cart <=768px
   without !important, so display:flex !important below defeats that specifically). */
.quote-page table.wtwraq-request-quote-product-list tbody tr td.product-thumbnail {
	display: flex !important;
	align-items: center;
	flex: 0 0 100px !important;
	width: 100px !important;
}
.quote-page .product-thumbnail img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 6px;
	border: 2px solid rgba(26,22,18,0.10);
	display: block;
}

/* Name + spec line — grows to fill the middle of the row */
.quote-page table.wtwraq-request-quote-product-list td.product-name {
	flex: 1 1 200px !important;
	width: auto !important;
	min-width: 0;
}
.quote-page .product-name a {
	display: block;
	color: #1A1612;
	font-weight: 700;
	text-decoration: none;
	margin-bottom: 6px;
}
.quote-page .product-name a:hover { color: #79A619; }
.quote-page .wtwraq-request-quote-sku {
	display: inline-block;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	color: rgba(26,22,18,0.55);
	margin: 0 15px 0 0;
}
.quote-page .wtwraq-request-quote-sku:last-of-type { margin-right: 0; }

/* Price — pinned to the far right of the same row, right aligned */
.quote-page table.wtwraq-request-quote-product-list td.product-price {
	flex: 0 0 auto !important;
	width: auto !important;
	margin-left: auto;
	text-align: right !important;
}
.quote-page .product-price {
	font-weight: 700;
	color: #1A1612;
	white-space: nowrap;
}

/* Clear list button + total row */
.quote-page .wtwraq-clear-list-button .button {
	background: transparent;
	border: 2px solid rgba(26,22,18,0.15);
	color: #1A1612;
	border-radius: 6px;
	padding: 10px 18px;
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.quote-page .wtwraq-clear-list-button .button:hover { background: #1A1612; border-color: #1A1612; color: #F7F4F3; }
.quote-page table.wtwraq-request-quote-product-list tbody tr:last-child td {
	padding-top: 20px;
}

/* Total row: label + amount sit together, right-aligned under the Price column, 15px apart */
.quote-page table.wtwraq-request-quote-product-list tbody tr:last-child td p {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.quote-page #wtwraq_quote_list_total_amount {
	float: none !important;
	margin-left: 15px;
	font-size: 20px;
	font-weight: 700;
	color: #1A1612;
}

/* ---- Request-a-quote details form (light background) ---- */
.quote-page .wtwraq-request-quote-form { margin-top: 8px; }
.quote-page .wtwraq-request-quote-form .form-row { margin-bottom: 20px; }
.quote-page .wtwraq-request-quote-form label {
	font-family: 'Inter', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #1A1612;
	margin-bottom: 18px;
	display: block;
}
.quote-page .wtwraq-request-quote-form .wtwraq-mandatory { color: #1A1612; }
.quote-page .wtwraq-request-quote-form input[type="text"],
.quote-page .wtwraq-request-quote-form input[type="email"],
.quote-page .wtwraq-request-quote-form textarea {
	width: 100% !important;
	background-color: #FFFFFF !important;
	border: 2px solid rgba(26,22,18,0.15) !important;
	border-radius: 6px !important;
	color: #1A1612 !important;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	padding: 18px 25px !important;
	height: 54px;
	box-sizing: border-box !important;
	transition: border-color .2s ease;
}
.quote-page .wtwraq-request-quote-form textarea {
	height: 162px;
	padding-top: 18px !important;
	resize: vertical;
}
.quote-page .wtwraq-request-quote-form input::placeholder,
.quote-page .wtwraq-request-quote-form textarea::placeholder { color: rgba(26,22,18,0.5); }
.quote-page .wtwraq-request-quote-form input:focus,
.quote-page .wtwraq-request-quote-form textarea:focus {
	outline: none;
	border-color: #1A1612 !important;
}

.quote-page .wtwraq_request_a_quote_button {
	width: 100%;
	background-color: #BAFF26 !important;
	color: #1A1612 !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 18px 29px !important;
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 16px;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.quote-page .wtwraq_request_a_quote_button:hover { background-color: #1A1612 !important; color: #F7F4F3 !important; }

/* ---- Tablet + mobile: tighter spec-line spacing so wrapped SKU/Thick/Qty/Unit lines
   sit closer together, plus the small-phone price-wrap adjustment. ---- */
@media (max-width: 1024px) {
	.quote-page .product-name a { margin-bottom: 4px; }
	.quote-page .wtwraq-request-quote-sku {
		line-height: 1.3;
		margin: 0 10px 0 0;
	}
	.quote-page table.wtwraq-request-quote-product-list tbody tr:not(:last-child) {
		gap: 6px 16px;
	}
}
@media (max-width: 480px) {
	.quote-page { padding: 30px 24px; }
	.quote-page table.wtwraq-request-quote-product-list td.product-price {
		flex-basis: 100% !important;
		margin-left: 0;
		padding-left: 88px !important;
		margin-top: 2px;
	}
	.quote-page table.wtwraq-request-quote-product-list tbody tr td.product-thumbnail {
		flex-basis: 72px !important;
		width: 72px !important;
	}
	.quote-page .product-thumbnail img { width: 72px; height: 72px; }
}/* End custom CSS */