/**
 * Where To Buy page styles.
 * Layout/behavior ported from elleebana.com/where-to-buy/, re-themed with
 * this theme's own Astra global color palette instead of elleebana's gold.
 */

:root {
	--wtb-accent: #a98579;
}

.salon-finder-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 32px;
}

.salon-finder-banner,
.salon-finder-map {
	flex: 1 1 45%;
	min-width: 280px;
}

.salon-finder-banner img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

.salon-finder-map {
	min-height: 370px;
	background: #f5f5f5;
}

.wtb-map-placeholder {
	overflow: hidden;
	border-radius: 2px;
}

.wtb-map-placeholder img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.wtb-intro {
	max-width: 640px;
	margin: 0 auto 32px;
	text-align: center;
}

.location-search {
	max-width: 600px;
	margin-bottom: 32px;
}

/* elleebana's original grid class names, scoped to this widget only so
   they don't leak into other page builders' .row/.column usage elsewhere
   on the site. */
.wtb-col-half .row,
.wtb-col-half .row-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: flex-end;
}

.wtb-col-half .column {
	flex: 1 1 auto;
	min-width: 0;
}

.wtb-col-half .small-12 {
	flex-basis: 100%;
}

.wtb-col-half .small-6 {
	flex: 1 1 calc(50% - 8px);
}

.stocklist-col .row {
	display: block;
}

.stocklist-col .large-5,
.stocklist-col .float-left,
.stocklist-col .float-right {
	float: none;
	width: 100%;
}

#searchMapAction {
	margin-top: 15px;
	background-color: var(--wtb-accent);
	border-color: var(--wtb-accent);
	color: #fff;
}

#searchMapAction.loading {
	opacity: 0.6;
	cursor: wait;
}

#memberLocations {
	margin-bottom: 20px;
	background: #f5f5f5;
}

.dist-top {
	padding: 16px;
	margin-bottom: 28px;
}

.dist-top h4 {
	font-weight: bold;
	font-size: 18px;
}

.dist-top.product-range {
	margin-bottom: 40px;
}

.filter_stock_cat {
	margin: 0;
}

.filter_stock_cat li {
	position: relative;
	float: left;
	list-style: none;
	margin-right: 39px;
	margin-bottom: 15px;
}

.filter_stock_cat input[type="checkbox"]:not(:checked),
.filter_stock_cat input[type="checkbox"]:checked {
	position: absolute;
	left: -9999px;
}

.filter_stock_cat input[type="checkbox"] + label {
	position: relative;
}

.filter_stock_cat input[type="checkbox"]:not(:checked) + label,
.filter_stock_cat input[type="checkbox"]:checked + label {
	padding-left: 25px;
	font-size: 16px;
	color: var(--ast-global-color-3, #131315);
}

.filter_stock_cat input[type="checkbox"]:not(:checked) + label:before,
.filter_stock_cat input[type="checkbox"]:checked + label:before {
	content: '';
	position: absolute;
	left: 0;
	top: -2px;
	width: 17px;
	height: 17px;
	background: #fff;
	border: 1px solid #ccc;
}

.filter_stock_cat input[type="checkbox"]:not(:checked) + label:after,
.filter_stock_cat input[type="checkbox"]:checked + label:after {
	content: '';
	background-image: url(../tick-sign.png);
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	width: 22px;
	height: 25px;
	position: absolute;
	top: -4px;
	left: 2px;
	transition: all .2s;
}

.filter_stock_cat input[type="checkbox"]:not(:checked) + label:after {
	opacity: 0;
	transform: scale(0);
}

.filter_stock_cat input[type="checkbox"]:checked + label:after {
	opacity: 1;
	transform: scale(1);
}

table.dist-table {
	width: 100%;
}

table.dist-table .dist-table-caption {
	caption-side: top;
	text-align: left;
	background-color: var(--wtb-accent);
	color: #fff;
	padding: 16px 20px;
	font-size: 20px;
	font-weight: bold;
}

table.dist-table thead {
	display: none;
}

table.dist-table tbody td,
table.dist-table tfoot td {
	border-bottom: 1px solid #ccc;
	padding: 24px 16px;
}

table.dist-table tbody td h4,
table.dist-table tfoot td h4 {
	font-weight: bold;
	margin-bottom: 0;
}

table.dist-table tbody td:nth-child(2) {
	text-align: right;
}

table.dist-table a {
	color: var(--wtb-accent);
}

table.dist-table a:hover {
	color: #8a6a5f;
}

.dist-table .dist-table-col-2,
.dist-table .col-list-tags {
	display: none;
}

.ds-address > div {
	display: inline-block;
	margin-right: 5px;
}

.datafiltertableClass .ds-tags {
	display: inline-block;
	margin-right: 5px;
	margin-bottom: 5px;
	background: #f1f1f1;
	padding: 4px 13px;
	font-size: 11px;
}

.datafiltertableClass .list-tags {
	margin-top: 22px;
}

.wtb-row {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.wtb-col-half {
	flex: 1 1 45%;
	min-width: 280px;
}

/* jquery-paginate.js navigation, themed to match the search button */
.page-navigation {
	text-align: center;
	margin-top: 16px;
}

.page-navigation a {
	margin: 0 2px;
	display: inline-block;
	padding: 4px 10px;
	color: var(--wtb-accent);
	border: 1px solid var(--wtb-accent);
	border-radius: 3px;
	text-decoration: none;
	font-weight: bold;
}

.page-navigation a[data-selected] {
	background-color: var(--wtb-accent);
	color: #fff;
}
