/*
Theme Name: Плитка и обои
Theme URI: http://plitka-oboi.local/
Description: Дочерняя тема Storefront для магазина плитки и обоев: витрина с промо-слайдером, каталогом категорий и фильтром каталога по атрибутам.
Author: ExchangeWoo
Template: storefront
Version: 0.5.5
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: plitka-oboi
*/

/* Токены оформления */

:root {
	--pl-ink: #151515;
	--pl-ink-deep: #0d0d0d;
	--pl-ink-soft: #242424;
	--pl-gold: #b59a6a;
	--pl-gold-dark: #9a7c47;
	--pl-gold-light: #d8c294;
	--pl-sand: #f6f1ea;
	--pl-sand-deep: #efe7db;
	--pl-border: #e4ddd1;
	--pl-line: #ece6dc;
	--pl-muted: #777;
	--pl-muted-light: #9b9b9b;
	--pl-container: 66.4989378333em;
	--pl-gutter: 2.617924em;

	--pl-font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--pl-track-wide: 0.16em;
	--pl-track-word: 0.34em;

	--pl-space-xs: 0.6em;
	--pl-space-sm: 1.2em;
	--pl-space-md: 2em;
	--pl-space-lg: 3.2em;
	--pl-space-xl: 4.6em;

	--pl-shadow-soft: 0 10px 24px rgba(21, 21, 21, 0.08);
	--pl-shadow-lift: 0 18px 40px rgba(21, 21, 21, 0.14);
	--pl-ease: 0.25s ease;
	--pl-ease-slow: 0.5s ease;
}

/* Основа */

body {
	background: #fff;
	color: var(--pl-ink-soft);
	font-family: var(--pl-font-sans);
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--pl-ink);
	transition: color var(--pl-ease);
}

a:hover {
	color: var(--pl-gold-dark);
}

/* Отклик на нажатие */

html {
	-webkit-tap-highlight-color: transparent;
}

/* Текст управляющих элементов не выделяется при клике и двойном клике */
.button,
button,
label,
input[type="button"],
input[type="reset"],
input[type="submit"],
.menu-toggle,
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a,
.plitka-hero__nav,
.plitka-hero__dot,
.plitka-carousel__nav,
.plitka-brands__viewport,
.plitka-section__link,
.plitka-tile,
.plitka-chips__link,
.plitka-filters__reset,
.woocommerce-pagination ul.page-numbers li .page-numbers {
	-webkit-user-select: none;
	user-select: none;
}

/* Системного кольца фокуса браузера нет: при клике рамки не видно,
   при навигации с клавиатуры показываем свою, в цвете темы */
:focus:not(:focus-visible) {
	outline: 0;
}

:focus-visible {
	outline: 2px solid var(--pl-gold);
	outline-offset: 2px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--pl-ink);
	font-weight: 300;
	letter-spacing: 0.04em;
}

h1,
h2 {
	line-height: 1.15;
}

/* Служебные надписи: разрядка и заглавные */

.plitka-eyebrow {
	color: var(--pl-gold-dark);
	display: block;
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: var(--pl-track-wide);
	text-transform: uppercase;
}

.plitka-rule {
	background: var(--pl-gold);
	border: 0;
	height: 1px;
	margin: 0;
	width: 3em;
}

/* Кнопки */

.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background-color: var(--pl-ink);
	border: 1px solid var(--pl-ink);
	border-radius: 0;
	color: #fff;
	font-size: 0.85em;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	padding: 1em 1.9em;
	text-transform: uppercase;
	transition: background-color var(--pl-ease), border-color var(--pl-ease), color var(--pl-ease);
}

.button:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background-color: var(--pl-gold-dark);
	border-color: var(--pl-gold-dark);
	color: #fff;
}

.button.alt,
button.alt,
input[type="submit"].alt,
.woocommerce .button.alt,
.woocommerce a.button.alt {
	background-color: var(--pl-gold);
	border-color: var(--pl-gold);
	color: #fff;
}

.button.alt:hover,
button.alt:hover,
input[type="submit"].alt:hover,
.woocommerce .button.alt:hover,
.woocommerce a.button.alt:hover {
	background-color: var(--pl-ink);
	border-color: var(--pl-ink);
	color: #fff;
}

/* Поля ввода */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
select {
	border: 1px solid var(--pl-border);
	border-radius: 0;
	box-shadow: none;
	color: var(--pl-ink-soft);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
	border-color: var(--pl-gold);
	outline: 0;
}

/* Шапка */

.site-header {
	background: #fff;
	border-bottom: 1px solid var(--pl-line);
	padding-bottom: 0;
	padding-top: 1.6em;
}

.site-header > .col-full::before,
.site-header > .col-full::after {
	content: none;
}

/* Логотип */

/* На главной обёртка логотипа — h1, поэтому кегль задаём явно */
.site-branding .plitka-logo,
.plitka-footer .plitka-logo {
	font-size: 1em;
	line-height: 1.2;
	margin: 0;
}

.plitka-logo__link {
	align-items: center;
	color: var(--pl-ink);
	display: inline-flex;
	gap: 1em;
	text-decoration: none;
}

.plitka-logo__mark {
	align-items: center;
	background: var(--pl-sand);
	display: flex;
	flex: 0 0 auto;
	height: 4.8em;
	justify-content: center;
	outline: 1px solid var(--pl-border);
	outline-offset: 3px;
	transition: background var(--pl-ease), outline-color var(--pl-ease);
	width: 4.8em;
}

.plitka-logo__link:hover .plitka-logo__mark {
	background: #fff;
	outline-color: var(--pl-gold);
}

.plitka-logo__icon {
	display: block;
	height: 4.2em;
	object-fit: contain;
	width: 4.2em;
}

.plitka-logo__text {
	display: block;
}

.plitka-logo__word {
	color: var(--pl-ink);
	display: block;
	font-size: 1.28em;
	font-weight: 400;
	letter-spacing: var(--pl-track-word);
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.plitka-logo__tagline {
	border-top: 1px solid var(--pl-gold);
	color: var(--pl-muted);
	display: block;
	/* Должен помещаться в исходной ширине логотипа, не сдвигая корзину. */
	font-size: 0.59em;
	letter-spacing: 0.08em;
	margin-top: 0.5em;
	padding-top: 0.45em;
	text-transform: uppercase;
	white-space: nowrap;
}

.site-branding .site-title a {
	color: var(--pl-ink);
	font-size: 24px;
	font-weight: 400;
	letter-spacing: var(--pl-track-word);
	text-transform: uppercase;
}

/* Телефон в шапке: самостоятельный flex-элемент между логотипом и поиском.
   Абсолютное позиционирование приводило к наложению поиска на номер. */
.plitka-header-phone {
	color: var(--pl-ink);
	display: flex;
	flex-direction: column;
	line-height: 1.25;
	text-decoration: none;
	white-space: nowrap;
}

.plitka-header-phone__city {
	color: var(--pl-muted);
	font-size: 0.66em;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.plitka-header-phone__number {
	font-size: 1.02em;
	font-weight: 700;
	letter-spacing: 0.02em;
	transition: color var(--pl-ease);
}

.plitka-header-phone:hover .plitka-header-phone__number,
.plitka-header-phone:focus .plitka-header-phone__number {
	color: var(--pl-gold-dark);
}

/* Поиск и корзина: один уровень, поиск первым */

.site-header .site-search {
	margin: 0;
}

.site-header .site-search .widget_product_search {
	margin: 0;
}

.site-header .site-search form {
	position: relative;
}

.site-header .site-search input[type="search"],
.site-header .site-search input[type="text"] {
	background: #fff;
	border: 0;
	border-bottom: 1px solid var(--pl-border);
	border-radius: 0;
	box-shadow: none;
	font-size: 0.95em;
	padding: 0.75em 0.4em 0.75em 2.2em;
	transition: border-color var(--pl-ease);
	width: 100%;
}

.site-header .site-search input[type="search"]:focus {
	border-bottom-color: var(--pl-gold);
}

.site-header .site-search .widget_product_search form::before {
	color: var(--pl-muted);
	left: 0.1em;
	top: 0.85em;
}

.site-header-cart {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.site-header-cart li {
	margin: 0;
}

.site-header .site-header-cart .cart-contents {
	align-items: center;
	color: var(--pl-ink);
	display: flex;
	gap: 0.7em;
	padding: 0.55em 0;
	text-decoration: none;
}

.site-header .site-header-cart .cart-contents:hover {
	color: var(--pl-gold-dark);
}

/* Знак корзины рисуем сами, шрифтовая иконка Storefront не нужна */
.site-header .site-header-cart .cart-contents::before,
.site-header .site-header-cart .cart-contents::after {
	content: none;
}

.plitka-cart__icon {
	display: block;
	flex: 0 0 auto;
	height: 1.7em;
	position: relative;
	width: 1.7em;
}

.plitka-cart__icon svg {
	display: block;
	fill: none;
	height: 100%;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
	width: 100%;
}

.plitka-cart__count {
	align-items: center;
	background: var(--pl-gold);
	border-radius: 50%;
	box-sizing: border-box;
	color: #fff;
	display: grid;
	font-size: 0.62em;
	font-weight: 700;
	height: 1.7em;
	line-height: 1.7em;
	padding: 0;
	place-items: center;
	position: absolute;
	right: -0.7em;
	text-align: center;
	top: -0.4em;
	width: 1.7em;
}

.plitka-cart__count.is-empty {
	background: var(--pl-muted-light);
}

.plitka-cart__text {
	display: block;
	line-height: 1.25;
}

.plitka-cart__label {
	color: var(--pl-muted);
	display: block;
	font-size: 0.68em;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.plitka-cart__total {
	display: block;
	font-size: 0.92em;
	font-weight: 700;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

/* Выпадающая мини-корзина */

/* Storefront прячет панель за левым краем — сдвиг задаём только для открытого состояния */
.site-header-cart .widget_shopping_cart {
	background: #fff;
	border: 1px solid var(--pl-border);
	box-shadow: var(--pl-shadow-lift);
	width: 22em;
}

.site-header-cart:hover .widget_shopping_cart,
.site-header-cart.focus .widget_shopping_cart {
	left: auto;
	right: 0;
}

.site-header-cart .widget_shopping_cart .product_list_widget {
	height: auto;
	margin: 0;
	padding: 0;
}

.site-header-cart .widget_shopping_cart .cart_list li {
	border-bottom: 1px solid var(--pl-line);
	line-height: 1.35;
	margin: 0;
	overflow: hidden;
	padding: 1em 1.2em;
}

.site-header-cart .widget_shopping_cart .cart_list li a.remove {
	float: right;
	margin: 0 0 0 0.6em;
	position: relative;
	top: 0;
}

.site-header-cart .widget_shopping_cart .cart_list li img {
	float: right;
	margin: 0 0 0 0.9em;
	width: 3.4em;
}

.site-header-cart .widget_shopping_cart .cart_list li a:not(.remove) {
	color: var(--pl-ink);
	display: block;
	font-size: 0.95em;
	font-weight: 400;
}

.site-header-cart .widget_shopping_cart .cart_list li .quantity {
	color: var(--pl-muted);
	display: block;
	font-size: 0.85em;
}

.site-header-cart .widget_shopping_cart .total {
	border: 0;
	color: var(--pl-muted);
	font-size: 0.85em;
	letter-spacing: 0.06em;
	margin: 0;
	padding: 1em 1.2em 0;
	text-transform: uppercase;
}

.site-header-cart .widget_shopping_cart .total strong {
	font-weight: 400;
}

.site-header-cart .widget_shopping_cart .total .amount {
	color: var(--pl-ink);
	font-size: 1.15em;
	font-weight: 700;
}

.site-header-cart .widget_shopping_cart .buttons {
	margin: 0;
	padding: 1em 1.2em 1.2em;
}

.site-header-cart .widget_shopping_cart .buttons a.button {
	display: block;
	font-size: 0.78em;
	margin: 0;
	text-align: center;
}

/* Основная навигация */

.storefront-primary-navigation {
	background: var(--pl-ink);
	margin-top: 1.4em;
}

@media (min-width: 768px) {
	.main-navigation ul.menu,
	.main-navigation ul.nav-menu {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
	}
}

.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
	color: #fff;
	font-size: 0.88em;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 1.3em 0.5em;
	text-transform: uppercase;
	transition: color var(--pl-ease);
}

.main-navigation ul.menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:hover,
.main-navigation ul.menu > li:hover > a {
	color: var(--pl-gold-light);
}

.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.menu > li.current_page_item > a,
.main-navigation ul.menu > li.current-menu-parent > a {
	color: var(--pl-gold-light);
}

.main-navigation ul.menu > li.menu-item-has-children > a::after {
	content: "";
	border-bottom: 1px solid currentColor;
	border-right: 1px solid currentColor;
	display: inline-block;
	height: 5px;
	margin-bottom: 2px;
	margin-left: 0.7em;
	transform: rotate(45deg);
	width: 5px;
}

/* Панель подменю «Каталога» */

.main-navigation ul.menu ul.sub-menu,
.main-navigation ul.nav-menu ul.sub-menu {
	background: #fff;
	border: 1px solid var(--pl-border);
	border-top: 2px solid var(--pl-gold);
	box-shadow: var(--pl-shadow-lift);
	padding: 0.8em 0;
}

.main-navigation ul.menu ul.sub-menu li a {
	color: var(--pl-ink-soft);
	font-size: 0.95em;
	letter-spacing: 0.06em;
	padding: 0.75em 1.5em;
}

.main-navigation ul.menu ul.sub-menu li a:hover {
	background: var(--pl-sand);
	color: var(--pl-gold-dark);
}

/* Хлебные крошки и заголовки разделов */

.storefront-breadcrumb {
	background: transparent;
	margin-bottom: var(--pl-space-md);
	padding: 1.2em 0 0;
}

.storefront-breadcrumb .woocommerce-breadcrumb {
	color: var(--pl-muted);
	font-size: 0.8em;
	letter-spacing: 0.06em;
}

.storefront-breadcrumb .woocommerce-breadcrumb a {
	color: var(--pl-muted);
}

.storefront-breadcrumb .woocommerce-breadcrumb a:hover {
	color: var(--pl-gold-dark);
}

.woocommerce-products-header__title,
.entry-title {
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.term-description,
.taxonomy-description {
	color: var(--pl-muted);
	margin: 0 auto var(--pl-space-md);
	max-width: 46em;
	text-align: center;
}

.term-description p,
.taxonomy-description p {
	margin-bottom: 0;
}

/* Информационные страницы шапки */

.plitka-info-page #primary {
	margin: 0 auto;
	max-width: none;
}

.plitka-info-page .entry-header {
	margin-bottom: var(--pl-space-md);
	text-align: center;
}

.plitka-info-page .entry-content {
	font-size: 1.05em;
	line-height: 1.7;
}

.plitka-info-page .entry-content .button {
	margin-top: 0.6em;
}

.plitka-contacts {
	list-style: none;
	margin: 1.6em 0 0;
	padding: 0;
}

.plitka-contacts li + li {
	margin-top: 0.85em;
}

.plitka-contacts__phone {
	color: var(--pl-ink);
	display: block;
	font-size: 1.35em;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.plitka-contacts__note {
	color: var(--pl-muted);
	display: block;
	font-size: 0.85em;
	margin-top: 0.25em;
}

/* Карта шоурума на странице «Контакты». */

.plitka-contacts-map {
	border-top: 1px solid var(--pl-border);
	margin-top: var(--pl-space-lg);
	padding-top: var(--pl-space-md);
}

.plitka-contacts-map__heading {
	margin-bottom: var(--pl-space-sm);
}

.plitka-contacts-map__heading h2 {
	font-size: 1.55em;
	margin: 0.3em 0 0;
}

.plitka-contacts-map__frame {
	background: var(--pl-sand);
	border: 1px solid var(--pl-border);
	box-shadow: var(--pl-shadow-soft);
	line-height: 0;
	overflow: hidden;
}

.plitka-contacts-map__frame iframe {
	border: 0;
	display: block;
	height: 23em;
	width: 100%;
}

.plitka-contacts-map__link {
	color: var(--pl-ink);
	display: inline-block;
	font-size: 0.85em;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-top: 1.1em;
	text-decoration: none;
	text-transform: uppercase;
}

.plitka-contacts-map__link::after {
	color: var(--pl-gold-dark);
	content: " →";
}

/* Уведомления магазина */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--pl-sand);
	border-top-color: var(--pl-gold);
	color: var(--pl-ink-soft);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--pl-gold-dark);
}

/* Кнопка «В корзину»: ссылка «Просмотр корзины» не нужна */

.added_to_cart,
.woocommerce-message .button.wc-forward {
	display: none !important;
}

.woocommerce ul.products li.product .button.added::after,
.plitka-card__actions .button.added::after {
	content: "";
	border-bottom: 2px solid currentColor;
	border-left: 2px solid currentColor;
	display: inline-block;
	height: 0.35em;
	margin-bottom: 0.15em;
	margin-left: 0.6em;
	transform: rotate(-45deg);
	width: 0.7em;
}

/* Корзина и оформление заказа */

.plitka-checkout-flow .entry-title,
.plitka-checkout-flow .page-title {
	font-size: 1.9em;
	letter-spacing: 0.1em;
	margin-bottom: 1.4em;
}

/* Оформление: только телефон и email, страну WooCommerce спрятать нельзя через локаль */
.woocommerce-checkout .wc-block-components-address-form__first-name,
.woocommerce-checkout .wc-block-components-address-form__last-name,
.woocommerce-checkout .wc-block-components-address-form__company,
.woocommerce-checkout .wc-block-components-address-form__country,
.woocommerce-checkout .wc-block-components-address-form__address_1,
.woocommerce-checkout .wc-block-components-address-form__address_2,
.woocommerce-checkout .wc-block-components-address-form__city,
.woocommerce-checkout .wc-block-components-address-form__state,
.woocommerce-checkout .wc-block-components-address-form__postcode,
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
.woocommerce-checkout .wc-block-checkout__shipping-fields,
.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block,
.woocommerce-checkout .wc-block-components-express-payment,
.woocommerce-checkout #payment {
	display: none;
}

a.wc-block-components-button,
button.wc-block-components-button,
.wc-block-components-button.contained {
	border-radius: 0;
	font-size: 0.85em;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

a.wc-block-components-button .wc-block-components-button__text,
button.wc-block-components-button .wc-block-components-button__text {
	text-decoration: none;
}

/* Storefront подчёркивает любые ссылки внутри контента — кнопки блоков исключаем */
.hentry .entry-content a.wc-block-components-button,
.hentry .entry-content a.wc-block-components-button:hover,
.hentry .entry-content .wc-block-components-product-name {
	text-decoration: none;
}

.wc-block-cart-items thead th,
.wc-block-components-totals-item__label {
	color: var(--pl-muted);
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: var(--pl-track-wide);
	text-transform: uppercase;
}

.wc-block-components-product-name {
	color: var(--pl-ink);
	font-size: 1em;
}

.wc-block-components-product-details {
	color: var(--pl-muted);
	font-size: 0.82em;
}

.wc-block-cart__submit-container,
.wc-block-components-totals-wrapper {
	border-color: var(--pl-line);
}

/* Цена с единицей измерения */

.plitka-price-unit {
	color: var(--pl-muted);
	font-size: 0.72em;
	font-weight: 400;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

/* Виджеты */

.widget .widget-title,
.widget .widgettitle {
	border-bottom: 1px solid var(--pl-gold);
	font-size: 0.9em;
	font-weight: 700;
	letter-spacing: var(--pl-track-wide);
	padding-bottom: 0.8em;
	text-transform: uppercase;
}

.widget_product_categories {
	background: var(--pl-sand);
	border: 1px solid var(--pl-border);
	padding: 1.6em;
}

/* Подвал */

.site-footer {
	background: var(--pl-ink);
	border-top: 3px solid var(--pl-gold);
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.95em;
	padding: 0;
}

/* Цвета ссылок подвала задаёт Настройщик Storefront — перебиваем специфичностью */
.site-footer .plitka-footer a:not(.button) {
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
}

.site-footer .plitka-footer a:not(.button):hover {
	color: var(--pl-gold-light);
}

.site-footer .plitka-footer a.plitka-footer__phone {
	color: #fff;
}

.site-footer .plitka-footer a.plitka-footer__phone:hover {
	color: var(--pl-gold-light);
}

.plitka-footer {
	padding: var(--pl-space-lg) 0 0;
}

.plitka-footer__grid {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	display: grid;
	gap: var(--pl-space-md);
	grid-template-columns: 1.25fr 0.9fr 0.9fr 1.5fr;
	padding-bottom: var(--pl-space-lg);
}

.plitka-footer__brand .plitka-logo__word,
.plitka-footer__brand .plitka-logo__link {
	color: #fff;
}

.plitka-footer__brand .plitka-logo__word {
	font-size: 1.1em;
}

.plitka-footer__brand .plitka-logo__mark {
	background: rgba(255, 255, 255, 0.06);
	outline-color: rgba(255, 255, 255, 0.2);
}

.plitka-footer__brand .plitka-logo__icon {
	filter: invert(1);
}

.plitka-footer__brand .plitka-logo__tagline {
	border-top-color: var(--pl-gold);
	color: rgba(255, 255, 255, 0.55);
}

.plitka-footer__about {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.9em;
	margin: 1.4em 0 0;
	max-width: 24em;
}

.site-footer .plitka-footer__title {
	color: #fff;
	font-size: 0.8em;
	font-weight: 700;
	letter-spacing: var(--pl-track-wide);
	margin: 0 0 1.2em;
	text-transform: uppercase;
}

.plitka-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.plitka-footer__list li {
	margin: 0 0 0.7em;
}

.plitka-footer__list a {
	font-size: 0.9em;
	letter-spacing: 0.03em;
}

.plitka-footer__contact {
	list-style: none;
	margin: 0;
	padding: 0;
}

.plitka-footer__contact li {
	margin: 0 0 0.9em;
}

.plitka-footer__phone {
	color: #fff;
	font-size: 1.05em;
	letter-spacing: 0.03em;
	white-space: nowrap;
}

.plitka-footer__note {
	color: rgba(255, 255, 255, 0.5);
	display: block;
	font-size: 0.8em;
	letter-spacing: 0.06em;
	margin-top: 0.2em;
	text-transform: uppercase;
}

.plitka-footer__bottom {
	align-items: baseline;
	color: rgba(255, 255, 255, 0.45);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.8em;
	gap: 0.6em 2em;
	justify-content: space-between;
	padding: 1.6em 0 2.2em;
}

.plitka-footer__legal {
	margin: 0;
	max-width: 46em;
}

.site-footer .storefront-handheld-footer-bar a:not(.button) {
	color: #fff;
}

/* Метки товара */

.plitka-badges {
	display: flex;
	flex-direction: column;
	gap: 0.35em;
	left: 0.7em;
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0.7em;
	z-index: 2;
}

.plitka-badge {
	color: #fff;
	font-size: 0.7em;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0;
	padding: 0.35em 0.8em;
	text-transform: uppercase;
}

.plitka-badge--hit {
	background: var(--pl-gold);
}

.plitka-badge--new {
	background: var(--pl-ink);
}

.plitka-badge--sale {
	background: var(--pl-gold-dark);
	color: #fff;
}

.plitka-badge--backorder {
	background: #8a8a8a;
}

/* Товары в списках */

.woocommerce ul.products li.product {
	background: #fff;
	border: 1px solid var(--pl-border);
	display: flex;
	flex-direction: column;
	padding: 0 0 1.4em;
	text-align: left;
	transition: border-color var(--pl-ease), box-shadow var(--pl-ease);
}

.woocommerce ul.products li.product:hover {
	border-color: var(--pl-gold);
	box-shadow: var(--pl-shadow-soft);
}

.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
	display: block;
}

.plitka-loop__media {
	aspect-ratio: 1 / 1;
	display: block;
	margin-bottom: 1.1em;
	overflow: hidden;
	position: relative;
}

.woocommerce ul.products li.product .plitka-loop__media img {
	display: block;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: transform var(--pl-ease-slow);
	width: 100%;
}

.woocommerce ul.products li.product:hover .plitka-loop__media img {
	transform: scale(1.05);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--pl-ink);
	font-size: 1em;
	font-weight: 400;
	line-height: 1.35;
	padding: 0 1.1em 0.6em;
}

.woocommerce ul.products li.product .price {
	color: var(--pl-gold-dark);
	display: block;
	font-size: 1.1em;
	font-weight: 700;
	margin-bottom: 1em;
	padding: 0 1.1em;
}

.woocommerce ul.products li.product .price del {
	color: var(--pl-muted-light);
	font-size: 0.75em;
	font-weight: 400;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
}

.woocommerce ul.products li.product .button {
	align-self: flex-start;
	margin: auto 1.1em 0;
}

/* Адаптив */

@media (min-width: 768px) {
	.site-header > .col-full {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		gap: 1.4em 2em;
	}

	.woocommerce-active .site-header .site-branding,
	.woocommerce-active .site-header .site-search,
	.woocommerce-active .site-header .site-header-cart {
		clear: none;
		float: none;
		margin: 0;
		width: auto;
	}

	.woocommerce-active .site-header .site-branding {
		flex: 0 1 25em;
		margin-right: 0;
		order: 1;
	}

	/* Все блоки шапки участвуют в одном потоке: телефон не может перекрыть поиск. */
	.woocommerce-active .site-header .plitka-header-phone {
		flex: 0 0 10.5em;
		order: 2;
	}

	.woocommerce-active .site-header .site-search {
		flex: 1 1 13.5em;
		min-width: 0;
		order: 3;
	}

	.woocommerce-active .site-header .site-header-cart {
		flex: 0 0 auto;
		order: 4;
	}

	/* Корзина ушла из тёмной полосы — меню занимает её целиком */
	.woocommerce-active .site-header .main-navigation {
		clear: none;
		float: none;
		margin-right: 0;
		width: 100%;
	}
}

@media (max-width: 767px) {
	.site-header {
		padding-top: 1.2em;
	}

	/* Логотип и корзина в строку, поиск — полосой под ними */
	.site-header > .col-full {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		gap: 0.9em 1em;
	}

	.site-header .site-branding {
		flex: 1 1 auto;
		margin: 0;
		order: 1;
		width: auto;
	}

	.site-header .site-header-cart {
		flex: 0 0 auto;
		order: 2;
	}

	.site-header .site-search {
		flex: 1 1 100%;
		order: 3;
	}

	/* На узком экране телефон доступен в разделе «Контакты», чтобы не перегружать первую строку. */
	.plitka-header-phone {
		display: none;
	}

	.storefront-primary-navigation {
		margin-top: 1.1em;
	}

	.storefront-primary-navigation .menu-toggle {
		float: left;
		margin: 0.8em 0;
	}

	.plitka-logo__mark {
		height: 3.5em;
		width: 3.5em;
	}

	.plitka-logo__icon {
		height: 3.05em;
		width: 3.05em;
	}

	.plitka-logo__word {
		font-size: 0.85em;
		letter-spacing: 0.2em;
	}

	.plitka-logo__tagline {
		display: none;
	}

	/* Storefront прячет поиск и корзину на узких экранах — возвращаем их в шапку */
	.site-header .site-search,
	.site-header .site-header-cart .cart-contents {
		display: block;
	}

	.site-header .site-header-cart .cart-contents {
		display: flex;
		justify-content: flex-start;
	}

	.site-header-cart .widget_shopping_cart {
		display: none;
	}

	.plitka-footer__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	/* На телефоне оставляем в нижней панели только поиск и корзину. */
	.storefront-handheld-footer-bar li.my-account {
		display: none;
	}

	.storefront-handheld-footer-bar ul.columns-3 li {
		width: 50%;
	}
}

@media (max-width: 560px) {
	.plitka-footer__grid {
		grid-template-columns: 1fr;
	}

	.plitka-contacts-map__frame iframe {
		height: 18em;
	}
}

@media (max-width: 380px) {
	.plitka-cart__label {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	a,
	.button,
	button,
	.plitka-logo__mark,
	.woocommerce ul.products li.product {
		transition: none;
	}
}
