/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* Пункт возврата в виджете категорий товаров */
.widget_product_categories .cat-item-back {
	margin-bottom: 6px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(129, 129, 129, .2);
}

.widget_product_categories .cat-item-back > a {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	color: var(--wd-primary-color, #ff4d00);
}

.widget_product_categories .cat-item-back .cp-back-arrow {
	font-size: 15px;
	line-height: 1;
}


/* Метки состояния аппарата */
.product-labels .wd-label-display,
.product-labels .wd-label-refurb {
	color: #fff;
	font-weight: 600;
}

.product-labels .wd-label-display {
	background-color: #1f2937;
}

.product-labels .wd-label-refurb {
	background-color: #0f766e;
}

/* Цена в карточке — чуть крупнее */
.wd-product .price,
.wp-block-wd-li-product-price .price {
	font-size: 19px;
	font-weight: 700;
}

@media (max-width: 768px) {
	.wd-product .price,
	.wp-block-wd-li-product-price .price {
		font-size: 17px;
	}
}

/* ---- Карточка товара: ровная сетка ---- */

/* Карточки в ряду одной высоты */
.wd-products .wd-product {
	height: 100%;
}

.wd-product > .wd-product-wrapper {
	height: 100%;
}

/* Блок с ценой и корзиной прижат к низу независимо от длины названия */
.wd-product-wrapper > .wd-dir-row:last-child {
	margin-top: auto;
}

/* Фото одного размера: квадрат, картинка вписывается целиком без обрезки */
.wd-product .wd-loop-prod-thumb {
	aspect-ratio: 1 / 1;
	width: 100%;
}

.wd-product .wd-product-img-link,
.wd-product .wd-loop-prod-thumb > a {
	display: block;
	width: 100%;
	height: 100%;
}

.wd-product .wd-loop-prod-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Метка «нет в наличии»: текст был того же цвета, что и фон */
.product-labels .product-label.out-of-stock {
	color: #fff;
	background-color: #6b7280;
	font-weight: 600;
}


/* Магазин работает только по Израилю: страна не выбирается.
   Поле оставляем в форме, чтобы значение IL уходило с заказом,
   но убираем с глаз — выбирать там всё равно не из чего. */
#billing_country_field,
#shipping_country_field,
#calc_shipping_country_field,
.woocommerce-billing-fields #billing_country_field,
.woocommerce-shipping-fields #shipping_country_field {
	display: none !important;
}


/* Лента блога: обложки берутся из карточек товаров и имеют разные
   пропорции — от квадрата до вытянутого вертикального кадра.
   Без общей рамки сетка разъезжается, поэтому задаём единый бокс 3:2
   и вписываем фото целиком, не обрезая товар. */
.wd-post-img.post-img-wrapp {
	aspect-ratio: 3 / 2;
	width: 100%;
	background-color: #fff;
	overflow: hidden;
}

.wd-post-img.post-img-wrapp > a,
.wd-post-img.post-img-wrapp > img {
	display: block;
	width: 100%;
	height: 100%;
}

.wd-post-img.post-img-wrapp img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}


/* ==== страница «אודותינו» ==== */
.cp-page{--cp-accent:#FF4D00;--cp-ink:#1a1a1a;--cp-muted:#6b7280;--cp-line:#e7e7e9;--cp-soft:#f7f7f8;
  font-family:'Heebo',system-ui,-apple-system,Segoe UI,sans-serif;color:var(--cp-ink);line-height:1.75;}
.cp-page *{box-sizing:border-box;}
.cp-page h2,.cp-page h3{color:var(--cp-ink);margin:0 0 12px;line-height:1.3;}
.cp-page p{margin:0 0 14px;}
.cp-page a{color:inherit;}

.cp-hero{padding:56px 0 40px;border-bottom:1px solid var(--cp-line);text-align:center;}
.cp-page .cp-eyebrow{color:var(--cp-accent);font-weight:700;letter-spacing:.12em;font-size:13px;margin-bottom:10px;}
.cp-hero h2{font-size:clamp(28px,4vw,44px);font-weight:800;}
.cp-page .cp-lead{max-width:760px;margin:0 auto 26px;font-size:clamp(16px,1.6vw,19px);color:#333;}
.cp-hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}

.cp-btn{display:inline-block;padding:12px 26px;border-radius:999px;font-weight:700;font-size:15px;
  text-decoration:none;transition:.2s;border:2px solid transparent;}
.cp-btn-solid{background:var(--cp-accent);color:#fff;}
.cp-btn-solid:hover{background:#e04400;color:#fff;}
.cp-btn-ghost{border-color:var(--cp-line);color:var(--cp-ink);}
.cp-btn-ghost:hover{border-color:var(--cp-accent);color:var(--cp-accent);}

.cp-section{padding:52px 0;}
.cp-band{background:var(--cp-soft);border-radius:18px;padding:48px 32px;}
.cp-h{font-size:clamp(22px,2.6vw,32px);font-weight:800;text-align:center;margin-bottom:8px;}
.cp-h+.cp-grid,.cp-sub+.cp-grid{margin-top:30px;}
.cp-page .cp-sub{text-align:center;color:var(--cp-muted);max-width:640px;margin:0 auto;}

.cp-grid{display:grid;gap:20px;}
.cp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.cp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.cp-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}

@media (max-width:1100px){.cp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:860px){.cp-grid-3{grid-template-columns:1fr;}}
@media (max-width:760px){.cp-grid-2{grid-template-columns:1fr;}}

.cp-card{display:block;padding:26px 22px;border:1px solid var(--cp-line);border-radius:16px;
  background:#fff;text-decoration:none;transition:.2s;}
.cp-card:hover{border-color:var(--cp-accent);transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.06);}
.cp-card-num{display:block;font-size:34px;font-weight:800;color:var(--cp-accent);line-height:1;margin-bottom:10px;}
.cp-card h3{font-size:18px;font-weight:700;}
.cp-card p{color:var(--cp-muted);font-size:15px;margin:0;}

.cp-rule{padding:24px 22px;background:#fff;border:1px solid var(--cp-line);border-radius:16px;}
.cp-rule h3{font-size:18px;font-weight:700;padding-inline-start:14px;border-inline-start:4px solid var(--cp-accent);}
.cp-rule p{color:#444;font-size:15.5px;margin:0;}

.cp-branch{padding:28px 24px;border:1px solid var(--cp-line);border-radius:16px;background:#fff;}
.cp-branch h3{font-size:20px;font-weight:800;}
.cp-branch-addr a{color:var(--cp-accent);font-weight:600;text-decoration:none;}
.cp-branch-addr a:hover{text-decoration:underline;}
.cp-branch-list{list-style:none;padding:0;margin:16px 0 20px;}
.cp-branch-list li{display:flex;gap:12px;padding:9px 0;border-bottom:1px dashed var(--cp-line);font-size:15px;}
.cp-branch-list li:last-child{border-bottom:0;}
.cp-branch-list li>span:first-child{min-width:76px;color:var(--cp-muted);}
.cp-branch-list a{color:var(--cp-ink);font-weight:600;text-decoration:none;}
.cp-branch-list a:hover{color:var(--cp-accent);}
.cp-hours{color:#444;}

.cp-cta{text-align:center;border-top:1px solid var(--cp-line);}
.cp-cta h2{font-size:clamp(22px,2.6vw,30px);font-weight:800;}
.cp-cta p{max-width:620px;margin:0 auto 22px;color:#444;}


@media (max-width:600px){
  .cp-grid-4{grid-template-columns:1fr;}
  .cp-band{padding:34px 18px;}
  .cp-section{padding:38px 0;}
}


/* ==== страница «יצירת קשר» ==== */
/* Филиал с картой: на широком экране карта слева, сведения справа. */
.cp-branches{display:grid;gap:22px;margin-top:30px;}
.cp-branch-wide{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0;overflow:hidden;padding:0;}
.cp-branch-map{min-height:280px;background:var(--cp-soft);}
.cp-branch-map iframe{display:block;width:100%;height:100%;min-height:280px;border:0;}
.cp-branch-body{padding:28px 26px;}
.cp-branch-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}

/* Вопросы и ответы */
.cp-faq{max-width:860px;margin:30px auto 0;}
.cp-faq details{background:#fff;border:1px solid var(--cp-line);border-radius:14px;margin-bottom:12px;overflow:hidden;}
.cp-faq summary{cursor:pointer;padding:18px 22px;font-weight:700;font-size:16.5px;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:12px;transition:.2s;}
.cp-faq summary::-webkit-details-marker{display:none;}
.cp-faq summary::after{content:"+";color:var(--cp-accent);font-size:22px;font-weight:700;line-height:1;flex:none;}
.cp-faq details[open] summary::after{content:"–";}
.cp-faq summary:hover{color:var(--cp-accent);}
.cp-faq details[open] summary{border-bottom:1px solid var(--cp-line);}
.cp-faq p{margin:0;padding:16px 22px 20px;color:#444;font-size:15.5px;}
.cp-faq a{color:var(--cp-accent);font-weight:600;}

/* Форма */
.cp-form-wrap{max-width:760px;margin:30px auto 0;padding:30px 28px;background:#fff;
  border:1px solid var(--cp-line);border-radius:18px;}
.cp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;}
.cp-page .cp-f{margin:0 0 16px;}
.cp-page .cp-f label{display:block;font-weight:600;font-size:14.5px;margin-bottom:6px;color:#333;}
.cp-page .cp-f input[type=text],.cp-page .cp-f input[type=tel],.cp-page .cp-f input[type=email],
.cp-page .cp-f select,.cp-page .cp-f textarea{
  width:100%;padding:12px 14px;border:1px solid var(--cp-line);border-radius:10px;
  font-family:inherit;font-size:15px;background:#fff;color:var(--cp-ink);transition:.2s;}
.cp-page .cp-f textarea{min-height:140px;resize:vertical;}
.cp-page .cp-f input:focus,.cp-page .cp-f select:focus,.cp-page .cp-f textarea:focus{
  outline:none;border-color:var(--cp-accent);box-shadow:0 0 0 3px rgba(255,77,0,.12);}
.cp-f-submit{margin:6px 0 0;}
.cp-page .cp-f-submit input[type=submit]{border:0;cursor:pointer;font-family:inherit;}
.cp-page .wpcf7-not-valid-tip{color:#c0392b;font-size:13.5px;margin-top:5px;}
.cp-page .wpcf7-response-output{margin:18px 0 0;padding:14px 16px;border-radius:10px;
  border:1px solid var(--cp-line);font-size:15px;}

@media (max-width:860px){
  .cp-branch-wide{grid-template-columns:1fr;}
  .cp-branch-map iframe{min-height:220px;}
}
@media (max-width:600px){
  .cp-form-grid{grid-template-columns:1fr;}
  .cp-form-wrap{padding:22px 18px;}
}

/* Значки способов оплаты в подвале: раньше это была одна картинка,
   теперь отдельные файлы — их видно чётко и состав легко менять. */
.cp-payments {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: center;
}

.cp-payments img {
	height: 30px;
	width: auto;
	display: block;
}

@media (max-width: 480px) {
	.cp-payments img { height: 26px; }
}

/* Список категорий в карточке товара.
   Телефоны лежат сразу в трёх категориях, и на узкой карточке это
   разворачивалось в три строки — карточка вырастала до 395px.
   Оставляем одну строку. */
.wd-product .wd-product-cats {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	max-height: 1.5em;
}


/* Кнопка «в корзину» в карточке товара на телефоне.
   В теме она 18x18 — вчетверо меньше кнопки «в избранное» рядом (46x42),
   пальцем в неё не попасть. Увеличиваем область нажатия до 40x40;
   сам значок остаётся прежнего размера, растёт только поле вокруг. */
@media (max-width: 768.98px) {
	.wd-product .wd-add-btn.wd-action-btn,
	.wd-product .wd-add-btn.wd-action-btn > a {
		min-width: 40px;
		min-height: 40px;
	}

	.wd-product .wd-add-btn.wd-action-btn > a {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}


/* Покупка на странице товара, телефон.
   В теме поле количества и обе кнопки стоят в один ряд: на 375 пикселях
   каждой достаётся около сотни, и надписи еле помещаются.
   Разводим на две строки: количество и «в корзину» сверху,
   «купить сейчас» во всю ширину под ними. */
@media (max-width: 768.98px) {
	.woocommerce div.product form.cart {
		flex-wrap: wrap;
	}

	.woocommerce div.product form.cart .quantity {
		flex: 0 0 auto;
	}

	.woocommerce div.product form.cart .single_add_to_cart_button {
		flex: 1 1 auto;
	}

	.woocommerce div.product form.cart .wd-buy-now-btn {
		flex: 1 0 100%;
	}
}

/* Стрелка "назад" у слайдеров товаров у темы позиционируется частично за
   пределами блока (overflow: visible) — на десктопе есть отступы, скрадывающие
   это, но на узких мобильных экранах стрелка вылезает за край и создаёт
   лишнюю горизонтальную прокрутку страницы. Сама карусель не трогаем —
   просто не даём странице скроллиться по горизонтали. */
@media (max-width: 480px) {
	html, body {
		overflow-x: hidden;
	}
}
