/* =========================================================
   TazaShop — Boutique et archives produits
   ========================================================= */

/* Catégories visuelles ------------------------------------------------ */

.tz-cats {
	padding-block: 30px 6px;
}

.tz-cats__list {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 22px;
	flex-wrap: wrap;
}

.tz-cats__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 108px;
	text-align: center;
}

.tz-cats__media {
	width: 92px;
	height: 92px;
	border-radius: 999px;
	background: var(--tz-rose-powder);
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform .2s ease, box-shadow .2s ease;
}

.tz-cats__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tz-cats__initial {
	font-family: var(--tz-font-title);
	font-size: 30px;
	color: var(--tz-bordeaux);
}

.tz-cats__item:hover .tz-cats__media,
.tz-cats__item.is-current .tz-cats__media {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(122, 23, 53, .16);
}

.tz-cats__name {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--tz-bordeaux);
	line-height: 1.3;
}

/* Grille boutique ----------------------------------------------------- */

.tz-shop {
	display: grid;
	grid-template-columns: 245px minmax(0, 1fr);
	gap: 30px;
	align-items: start;
	margin-block: 26px 40px;
}

.tz-shop__sidebar {
	background: var(--tz-white);
	border: 1px solid var(--tz-border);
	border-radius: var(--tz-radius);
	padding: 20px 18px;
	position: sticky;
	top: 16px;
}

.tz-filters__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--tz-border);
	margin-bottom: 16px;
}

.tz-filters__title {
	font-size: 18px;
	margin: 0;
}

.tz-filters__reset {
	font-size: 12.5px;
	color: var(--tz-rose);
}

.tz-filter-widget {
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--tz-border);
}

.tz-filter-widget:last-of-type {
	border-bottom: 0;
}

.tz-filter-widget__title {
	font-family: var(--tz-font-body);
	font-size: 14px;
	font-weight: 600;
	margin: 0 0 12px;
}

.tz-filter-widget ul,
.tz-filter-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 9px;
	font-size: 13.5px;
}

.tz-filter-widget li a,
.tz-filter-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	color: var(--tz-text);
}

.tz-filter-widget li a:hover,
.tz-filter-list a:hover {
	color: var(--tz-bordeaux);
}

.tz-filter-list__count,
.tz-filter-widget .count {
	color: var(--tz-text-2);
	font-size: 12.5px;
}

/* Widgets WooCommerce de filtres */
.tz-shop__sidebar .woocommerce-widget-layered-nav-list,
.tz-shop__sidebar .wc-block-checkbox-list {
	font-size: 13.5px;
}

.tz-shop__sidebar .price_slider_wrapper .ui-slider,
.tz-shop__sidebar .wc-block-price-filter__range-input-wrapper {
	background: var(--tz-rose-powder);
}

.tz-shop__sidebar .ui-slider .ui-slider-range,
.tz-shop__sidebar .ui-slider .ui-slider-handle {
	background: var(--tz-bordeaux);
}

.tz-shop__sidebar .button,
.tz-shop__sidebar .wp-element-button {
	width: 100%;
	margin-top: 10px;
}

.tz-filters__perks {
	margin-top: 18px;
	padding: 16px;
	border-radius: var(--tz-radius);
	background: var(--tz-rose-light);
}

.tz-filters__perks .tz-btn {
	margin-top: 14px;
	border-radius: 999px;
}

.tz-filters__hint {
	font-size: 12px;
	color: var(--tz-text-2);
	background: var(--tz-rose-light);
	border-radius: var(--tz-radius-sm);
	padding: 10px 12px;
}

.tz-filters-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 12px;
	border: 1px solid var(--tz-border);
	border-radius: var(--tz-radius-sm);
	background: var(--tz-white);
	color: var(--tz-text);
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
}

/* Barre d'outils ------------------------------------------------------ */

.tz-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.tz-toolbar__count {
	margin: 0;
	font-size: 15px;
	color: var(--tz-text-2);
}

.tz-toolbar__count strong {
	color: var(--tz-text);
	font-family: var(--tz-font-title);
	font-size: 18px;
}

.tz-toolbar__tools {
	display: flex;
	align-items: center;
	gap: 12px;
}

.tz-theme .woocommerce-ordering {
	margin: 0;
}

.tz-theme .woocommerce-ordering select {
	min-width: 200px;
	padding-right: 34px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237A1735' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	appearance: none;
}

.tz-layout-switch {
	display: flex;
	gap: 6px;
}

.tz-layout-switch button {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--tz-border);
	border-radius: var(--tz-radius-sm);
	background: var(--tz-white);
	color: var(--tz-text-2);
	cursor: pointer;
}

.tz-layout-switch button.is-active {
	background: var(--tz-bordeaux);
	border-color: var(--tz-bordeaux);
	color: var(--tz-white);
}

/* Grille de produits -------------------------------------------------- */

.tz-theme ul.products {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(196px, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
}

.tz-theme ul.products::before,
.tz-theme ul.products::after {
	content: none;
}

.tz-theme ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	display: flex;
	flex-direction: column;
	background: var(--tz-white);
	border: 1px solid var(--tz-border);
	border-radius: var(--tz-radius);
	overflow: hidden;
	transition: box-shadow .2s ease, transform .2s ease;
}

.tz-theme ul.products li.product:hover {
	box-shadow: var(--tz-shadow-hover);
	transform: translateY(-2px);
}

.tz-card__media {
	position: relative;
	background: var(--tz-rose-light);
}

.tz-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0 !important;
}

.tz-card__badges {
	position: absolute;
	top: 10px;
	left: 10px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	z-index: 2;
}

.tz-fav {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	color: var(--tz-rose);
	cursor: pointer;
	z-index: 2;
	transition: background-color .15s ease, color .15s ease;
}

.tz-fav:hover,
.tz-fav.is-active {
	background: var(--tz-rose);
	color: var(--tz-white);
}

.tz-fav.is-active .tz-icon {
	fill: currentColor;
}

.tz-card__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 14px 14px 16px;
	flex: 1 1 auto;
}

.tz-theme ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--tz-font-body);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
	padding: 0;
}

.tz-theme ul.products li.product .woocommerce-loop-product__title a {
	color: var(--tz-text);
}

.tz-card__subtitle {
	margin: 2px 0 0;
	font-size: 12.5px;
	color: var(--tz-text-2);
}

.tz-theme ul.products li.product .price {
	margin: 8px 0 0;
	color: var(--tz-bordeaux);
	font-size: 16px;
	font-weight: 700;
}

.tz-theme ul.products li.product .price del {
	color: var(--tz-text-2);
	font-size: 13px;
	font-weight: 500;
	margin-left: 6px;
	opacity: 1;
}

.tz-theme ul.products li.product .price ins {
	text-decoration: none;
	background: transparent;
}

.tz-theme ul.products li.product .tz-rating {
	margin-top: 6px;
}

.tz-theme ul.products li.product .button {
	margin-top: 12px;
	width: 100%;
	font-size: 13px;
	padding: 11px 12px;
}

.tz-theme ul.products li.product .added_to_cart {
	margin-top: 8px;
	font-size: 12.5px;
	text-align: center;
	color: var(--tz-rose);
}

/* Affichage liste ----------------------------------------------------- */

.tz-theme ul.products.tz-products--list {
	grid-template-columns: 1fr;
}

.tz-theme ul.products.tz-products--list li.product {
	flex-direction: row;
}

.tz-theme ul.products.tz-products--list .tz-card__media {
	flex: 0 0 220px;
	max-width: 220px;
}

.tz-theme ul.products.tz-products--list .tz-card__body {
	justify-content: center;
	padding: 18px 22px;
}

.tz-theme ul.products.tz-products--list li.product .button {
	width: auto;
	align-self: flex-start;
	padding-inline: 22px;
}

/* Pagination ---------------------------------------------------------- */

.tz-theme .woocommerce-pagination ul,
.tz-theme .wp-pagenavi {
	display: flex;
	justify-content: center;
	gap: 8px;
	border: 0 !important;
	margin: 36px 0 0;
	padding: 0;
	list-style: none;
}

.tz-theme .woocommerce-pagination ul li {
	border: 0 !important;
	margin: 0;
}

.tz-theme .woocommerce-pagination ul li a,
.tz-theme .woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border-radius: var(--tz-radius-sm);
	background: var(--tz-white);
	border: 1px solid var(--tz-border);
	color: var(--tz-text);
	font-size: 14px;
	font-weight: 500;
}

.tz-theme .woocommerce-pagination ul li span.current,
.tz-theme .woocommerce-pagination ul li a:hover {
	background: var(--tz-bordeaux);
	border-color: var(--tz-bordeaux);
	color: var(--tz-white);
}

/* Messages WooCommerce ------------------------------------------------ */

.tz-theme .woocommerce-message,
.tz-theme .woocommerce-info,
.tz-theme .woocommerce-error {
	border-top-color: var(--tz-bordeaux);
	background: var(--tz-white);
	border-radius: var(--tz-radius-sm);
}

.tz-theme .woocommerce-message::before,
.tz-theme .woocommerce-info::before {
	color: var(--tz-bordeaux);
}

/* Panier, commande, compte ------------------------------------------- */

.tz-theme .woocommerce table.shop_table,
.tz-theme .woocommerce-cart .cart-collaterals .cart_totals > h2,
.tz-theme .woocommerce-checkout #order_review,
.tz-theme .woocommerce-account .woocommerce-MyAccount-navigation {
	border-radius: var(--tz-radius);
	border-color: var(--tz-border);
}

.tz-theme .woocommerce table.shop_table th {
	font-family: var(--tz-font-body);
	font-size: 14px;
	color: var(--tz-text);
}

.tz-theme .woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
}

.tz-theme .woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 10px 14px;
	border-radius: var(--tz-radius-sm);
	color: var(--tz-text);
	font-size: 14px;
}

.tz-theme .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.tz-theme .woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: var(--tz-rose-light);
	color: var(--tz-bordeaux);
}
