/**
 * Наличие по магазинам города.
 *
 * Выпадающий список плагина и его строка «N доступно в …» скрыты:
 * они дублируют таблицу и показывают магазин не того города.
 * Из разметки не убираем — на списке держится логика корзины.
 */

.oc-city-stock + .slw_stock_location_selection,
.oc-city-stock ~ .slw_stock_location_selection,
.oc-city-stock ~ div.stock-msg,
.oc-city-stock ~ .slw_stock_location_selection + .stock-msg {
	display: none !important;
}

/* Плагин вставляет строку и после формы — прячем её на карточке товара */
.single-product div.stock-msg,
.single-product .slw_stock_location_selection {
	display: none !important;
}

/*
 * Наличие перед кнопкой покупки дублирует то, что уже написано в шапке
 * карточки, а таблица ниже говорит то же самое подробнее.
 * Оставляем один источник правды.
 */
.single-product .w-post-elm.add_to_cart p.stock {
	display: none !important;
}

/*
 * Когда товара нет в городе, тема всё равно красит надпись в зелёный —
 * цвет зашит в её собственный блок наличия. Перекрашиваем, иначе
 * «Нет в вашем городе» читается как хорошая новость.
 */
.oc-product-not-in-city .w-post-elm.product_field.stock,
.oc-product-not-in-city .w-post-elm.product_field.stock * {
	color: #a33028 !important;
}

.oc-city-stock {
	margin: 0 0 22px;
	max-width: 520px;
}

.oc-city-stock__title {
	font-size: 15px;
	margin-bottom: 10px;
	color: #4a4a4a;
}

.oc-city-stock__city {
	font-weight: 600;
	color: #1d1d1d;
}

.oc-city-stock__table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #e3e6df;
	border-radius: 4px;
	overflow: hidden;
}

.oc-city-stock__row {
	cursor: pointer;
	border-bottom: 1px solid #eef0ec;
	transition: background-color .12s ease;
}

.oc-city-stock__row:last-child {
	border-bottom: none;
}

.oc-city-stock__row:hover,
.oc-city-stock__row:focus {
	background-color: #f4f8ef;
	outline: none;
}

.oc-city-stock__row.is-selected {
	background-color: #eaf4e0;
	box-shadow: inset 3px 0 0 #7db92b;
}

.oc-city-stock__shop {
	padding: 11px 14px;
	font-size: 14px;
	line-height: 1.35;
	color: #2b2b2b;
}

.oc-city-stock__qty {
	padding: 11px 14px;
	font-size: 14px;
	font-weight: 600;
	color: #4c8a1e;
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.oc-city-stock__hint {
	margin-top: 8px;
	font-size: 13px;
	color: #8a8f85;
}

/* ---------- товара в городе нет ---------- */

.oc-city-stock__empty {
	border: 1px solid #e8ddd6;
	background: #fdf7f4;
	border-radius: 4px;
	padding: 16px 18px;
}

.oc-city-stock__empty-title {
	font-size: 15px;
	font-weight: 600;
	color: #a33028;
	margin-bottom: 4px;
}

.oc-city-stock__empty-text {
	font-size: 14px;
	color: #6b615c;
	margin-bottom: 12px;
}

.oc-city-stock__change {
	appearance: none;
	border: 1px solid #7db92b;
	background: #7db92b;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	padding: 9px 18px;
	border-radius: 3px;
	cursor: pointer;
	transition: background-color .12s ease;
}

.oc-city-stock__change:hover,
.oc-city-stock__change:focus {
	background: #6ea324;
	border-color: #6ea324;
	outline: none;
}

/* ---------- каталог ---------- */

.oc-loop-unavailable {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #a33028;
	margin-top: 6px;
}

.oc-loop-details {
	display: inline-block;
	margin-top: 3px;
	font-size: 13px;
	color: #6b7a5e;
	text-decoration: underline;
}

/* Приглушаем карточку, но не прячем: товар может быть в другом городе */
.oc-not-in-city .product-image,
.oc-not-in-city .w-post-elm.post_image {
	opacity: .55;
}

@media (max-width: 480px) {
	.oc-city-stock__shop,
	.oc-city-stock__qty {
		padding: 10px 11px;
		font-size: 13px;
	}
}
