/*
Theme Name: Bono Child
Theme URI: https://wpshop.ru/themes/bono
Author: WPShop.ru
Author URI: http://wpshop.ru/
Template: bono
Version: 1.0.0
*/
a.afoot {text-decoration: none;} 
a.afoot:hover {text-decoration: none;}

/* Уменьшаем размер шапки */
.site-header {
	padding-top: 15px;
	padding-bottom: 15px;
}
@media (max-width: 767px) {
	.site-header {
	padding-top: 30px;
	padding-bottom: 0px;
	}
}

@media (max-width: 430px) {
    .single-product .site-header {
        margin-bottom: 0;
    }
}

.clearfy-cookie,
.scrolltop {
  z-index: 999999
}

.search-headiv {width:85%;}
@media (max-width: 430px) {
	.search-headiv {width:100%;}
}

/* Убираем иконку телефона в шапке */
.header-phone__item a {
padding-left: 0;
}

.header-phone__item a:before {
display: none;
}
.header-phone__item {font-size: 1.1em; font-weight:400;
}
.header-phone__item small{font-weight:200;
}

/* Скрыть телефон в шапке на мобильных */
@media (max-width: 768px) {
  .header-phone {
    display: none !important;
  }
}

/* Меню категорий под шапкой: расстояние + жирный текст */
.main-navigation #header_menu > li > a,
.main-navigation #header_menu > li > span {
  font-weight: 700;        /* жирный */
  padding: 15px 20px;      /* "воздух" вокруг текста (и расстояние между пунктами) */
  display: block;          /* чтобы padding работал предсказуемо */
}

/* Дополнительно увеличим расстояние именно между пунктами */
.main-navigation #header_menu > li {
  margin-right: 0;
}

/* Верхнее меню — всё в одну строку */
#header_menu{
    flex-wrap:nowrap !important;      /* если меню собрано на flex */
    white-space:nowrap !important;    /* если на inline-block */
}
#header_menu > li{
    margin-left:0 !important;
    margin-right:0 !important;
}
#header_menu > li > a{
    padding-left:10px !important;     /* было заметно больше — отсюда и перенос */
    padding-right:10px !important;
    font-size:17px !important;        /* было 17px */
    white-space:nowrap !important;    /* каждое название в одну строку */
}

/* Подменю каталога (Bono): компактнее и без переноса строк */
.main-navigation ul li .sub-menu{
    width:auto !important;
    min-width:220px;
    max-width:none !important;
    gap:0 !important;
}
.main-navigation ul li .sub-menu li{
    margin:0 !important;
}
.main-navigation ul li .sub-menu li a{
    white-space:nowrap !important;   /* название — в одну строку */
    padding-top:10px !important;      /* меньше отступ сверху/снизу */
    padding-bottom:10px !important;
    line-height:1.2 !important;
}

/* Лёгкое затемнение на слайдере */
.card-slider__image {
  position: relative; /* база для псевдо-элемента */
}

.card-slider__image::after {
  content: "";
  position: absolute;
  inset: 0;                 /* top:0 right:0 bottom:0 left:0 */
  background: rgba(0, 0, 0, 0.15); /* степень затемнения (0.15–0.35 обычно ок) */
  pointer-events: none;     /* чтобы не мешало кликам */
}

/* Слайдер Убрать подложку и изменить шрифт */
.card-slider--type-media .card-slider__title span, .card-slider--type-media .card-slider__excerpt span {
	background: none;
	padding-left: 0;
}

.card-slider__title {
	text-transform: uppercase;
}

/* Кнопка "Перейти" на слайдере — тёмный цвет и без скругления */
.card-slider__button{
  background-color: #996600 !important;  /* цвет кнопки; впишите свой, напр. как в подвале */
  border-radius: 0 !important;
}

/* Цвета кнопок на слайдере */
/* 1) Базово: текст кнопки белый */
.card-slider__button{
	color: #fff !important;
}

/* 2) Когда навели на весь слайд (a:hover) — НЕ даём перекрасить кнопку */
.card-slider a:hover .card-slider__button{
  color: #fff !important;
}

/* 3) Но когда навели именно на кнопку — делаем чёрный */
@media (hover: hover) and (pointer: fine){
  .card-slider a:hover .card-slider__button:hover{
    color: #996600 !important;
  }
}
/* Конец Цвета кнопок на слайдере */

@media (min-width: 768px) {
	.card-slider__title {
		font-size: 3em;
		text-shadow: 1px 1px 1px #777;
		color: #fff;
	}

	.section-block__header {
		justify-content: center;
	}

	.section-block__title {
		margin-right: 0;
	}

	.card-slider__excerpt {
		font-size: 1.8em;
		color: #fff;
		font-weight: 400;
		text-shadow: 1px 1px 1px #777;
		width: 90%;
		margin-bottom: 14px;
	}
}

@media (max-width: 430px) {
	.card-slider__excerpt {
		width: 80%;
		font-size: 1.4em;
		color: #fff;
		font-weight: 400;
		text-shadow: 1px 1px 1px #777;
		margin: 0 auto;
        /* центрируем блок по ширине */
		text-align: center;
    /* центрируем текст внутри */
		display: block;
        /* чтобы width точно применялся */;
	}
}

@media (max-width: 767px) {
	.card-slider--type-media .card-slider__title,
  .card-slider--type-media .card-slider__title span,
  .card-slider--type-media .card-slider__excerpt,
  .card-slider--type-media .card-slider__excerpt span {
		color: #fff !important;
		text-shadow: 1px 1px 1px #777;
	}
}

@media screen and (((min-width: 320px) and (max-width: 736px)) and (orientation: landscape)) {
	.card-slider__title {
		font-size: 1.6em;
		text-shadow: 1px 1px 1px #777;
		color: #fff !important;
	}
}

@media (max-width:430px) {
	.card-slider__title {
		font-size: 1.6em;
		text-shadow: 1px 1px 1px #777;
		color: #fff !important;
	}

	.main-navigation ul li .sub-menu li>a, .main-navigation ul li .sub-menu li>span {
		font-size: 0.95em !important;
		color: #333;
	}
}
/* Конец Слайдер Убрать подложку и изменить шрифт */

/* Размер слайдера */

/* Full-bleed для home-слайдера на 1024–1366 */
@media (min-width: 1024px) and (max-width: 1367px) {
  /* растягиваем контейнер слайдера на всю ширину окна */
  .card-slider-container.full {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  /* на всякий случай убираем внутренние ограничения */
  .card-slider-container.full.swiper-container {
    overflow: hidden;
  }

  /* чтобы слайды точно занимали всю ширину */
  .card-slider-container.full .swiper-slide {
    width: 100% !important;
  }

  /* высоту можно оставить твою, но логичнее под эти экраны сделать чуть компактнее */
  .card-slider__image {
    height: 520px; /* или 740-780, если слишком высоко на 1366 */
    background-size: cover;
    background-position: center;
  }
}

@media (min-width:1440px) {
	.card-slider__image {
		height: 580px;
	}
}

@media (min-width:1921px) {
	.card-slider__image {
		height: 640px;
	}
}

/* Мобильные */
@media (max-width: 767px) {
	.card-slider__image {
		height: 74vh;
		              /* высота экрана */
   	display: flex;
		justify-content: center;
    /* горизонтальное выравнивание */
		align-items: center;
        /* вертикальное выравнивание */
		overflow: hidden;
	}
}

@media (max-width: 767px) {
	.card-slider__body {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		pointer-events: none;
 /* не блокирует клики по ссылке-слайду */;
	}

	.card-slider__body-inner {
		pointer-events: auto;
 /* разрешаем клик по "Перейти" */
		text-align: center;
	}
}
/* Конец Размер слайдера */

/* Списки в тексте — на всю ширину, а не половину */
.entry-content ul:not([class]),
.entry-content ol:not([class]),
.entry-content ul.wp-block-list,
.entry-content ol.wp-block-list{
  max-width: none !important;
}

/* Убрать Детали на карточке товара */
.woocommerce-additional-fields h3 {
	display: none;
}

/* Выровнять слева карточки товаров */
.shop-grid {
  justify-content: flex-start;
}

/* Увеличаем размер иконок в шапке */
.header-cart__link-ico {
	font-size: 1.1em;
}

.header-search-ico {
	font-size: 1.1em;
}

.header-customer-account--vis {
	font-size: 1.1em;
	margin-right: 10px;
}

.header-favorite--vis {
	font-size: 1.1em;
}

/* Убрать иконки на мобильных */
@media (max-width: 767px) {
	.social-links {display: none !important;}
}

@media (max-width: 430px) {
	.header-favorite--vis, .header-favorite--vis, .js-header-favorite, .header-customer-account--vis, .js-header-customer-account {
		display: none !important;
	}
}

/* Выравнивание карточек по верхнему краю */
.shop-item__image {
	height: auto;
}

/* Кнопка Купить на карточке товара на всю ширину */
@media (max-width: 767px) {
	.product-info, .cart {
		width: 100% !important;
	}
}

/* Вариации на стр товара по левому краю, кнопка на всю ширину */
@media (max-width: 767px) {
.product-info .cart > div {
    width: 100%;
	}
.product-info .cart .woocommerce-variation-add-to-cart {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
	}
}

/* Кнопка Подтвердить заказ в корзине на всю ширину */
@media (max-width: 767px) {
	button#place_order.button.alt {
		width: 100%;
	}
}

/* Кнопка Вернуться в магазин в пустой корзине на всю ширину */
@media (max-width: 767px) {
	a.button.wc-backward {
		width: 100%;
	}
}

/* Стили для галереи изображений на карточке товара */
.woocommerce-product-gallery {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
}
.woocommerce-product-gallery .flex-control-nav {
    max-width: inherit;
}
.woocommerce-product-gallery .flex-control-thumbs li {
    display: block;
    float: left;
    max-width: 30px;
    margin: 5px 0 5px 0;
}
.woocommerce-product-gallery .flex-control-thumbs li:not(:last-child) {
    margin-right: 5px;
}

@media (max-width: 430px) {
.woocommerce-product-gallery .flex-control-thumbs li {
    display: block;
    float: left;
	max-width: 20px;
    margin: 4px 0 4px 0;
}
.woocommerce-product-gallery .flex-control-thumbs li:not(:last-child) {
    margin-right: 4px;
}
}
/* Конец Стили для галереи изображений на карточке товара */

/* Убираем Order Extra */
.checkout-content a:not(:hover):not(:focus).button {
    color: #fff
}

.woocommerce-checkout .woocommerce-order-details__title {
    display: none;
}


/* Категории на главной странице */
/* ===== Блок категорий на главной ===== */
.catblock{
  --gap: 20px;
  --radius: 0;            /* без скруглений */
  --grid-h: 760px;        /* высота сетки на десктопе */
  --accent: #996600;      /* цвет кнопок */
  --sub-color: var(--accent); /* цвет подписи "в наличии" */
  --panel: #f4f4f4;       /* фон светлых плашек */
  --title: #1c1c28;
  width:100%; margin:30px 0; box-sizing:border-box;
}
.catblock *{ box-sizing:border-box; }

.catblock__grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap);
  grid-template-areas:
    "shkafy  shkafy"
    "komody  komody"
    "krovati krovati"
    "kuhni   kuhni"
    "stoly   stulya"
    "divany  divany";
}
.catblock__i--shkafy  { grid-area: shkafy; }
.catblock__i--komody  { grid-area: komody; }
.catblock__i--krovati { grid-area: krovati; }
.catblock__i--kuhni   { grid-area: kuhni; }
.catblock__i--stoly   { grid-area: stoly; }
.catblock__i--stulya  { grid-area: stulya; }
.catblock__i--divany  { grid-area: divany; }

.catblock__i{
  position:relative; display:flex; overflow:hidden;
  border-radius: var(--radius);
  text-decoration:none; min-height:210px; color:var(--title);
}
.catblock__i--img{ min-height:240px; }

.catblock__bg{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; transition: transform .45s ease;
}
.catblock__i--img:hover .catblock__bg{ transform: scale(1.05); }
.catblock__i--img::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.5), rgba(0,0,0,0) 55%);
  z-index:1;
}
.catblock__label{
  position:absolute; left:24px; bottom:22px; z-index:2;
  color:#fff; font-weight:700; font-size:28px; line-height:1.1;
}

.catblock__i--panel{ background: var(--panel); }
.catblock__i--komody{ background:#fff; box-shadow: inset 0 0 0 1px #ececec; }

.catblock__body{
  position:relative; z-index:2; display:flex; flex-direction:column;
  padding:26px; max-width:60%;
}
.catblock__title{ font-size:22px; font-weight:700; line-height:1.15; }
.catblock__sub{ margin-top:6px; color:var(--sub-color); font-weight:600; font-size:16px; }

.catblock__pic{
  position:absolute; right:10px; bottom:22px; z-index:1;
  width:52%; max-height:95%;
  object-fit:contain; object-position:right bottom; pointer-events:none;
}

.catblock__btn{
  align-self:flex-start; margin-top:16px; padding:11px 24px;
  border:2px solid var(--accent); border-radius:0;
  color:var(--accent); font-weight:600; font-size:15px;
  background:transparent; transition:.25s ease;
}
.catblock__i:hover .catblock__btn{ background:var(--accent); color:#fff; }
.catblock__btn--light{ border-color:#fff; color:#fff; }
.catblock__i:hover .catblock__btn--light{ background:#fff; color:var(--title); }

.catblock__body--onimg{ position:absolute; left:0; bottom:0; z-index:2; max-width:100%; }
.catblock__label--lg{ position:static; font-size:30px; margin-bottom:4px; }

/* Десктоп: бенто с карточками разной высоты */
@media (min-width:1024px){
  .catblock__grid{
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(12, 1fr);
    grid-template-areas: none;
    height: var(--grid-h);
  }
  .catblock__i, .catblock__i--img{ min-height:0; }
  .catblock__i--shkafy  { grid-column:1; grid-row:1 / 8; }
  .catblock__i--stoly   { grid-column:1; grid-row:8 / 13; }
  .catblock__i--komody  { grid-column:2; grid-row:1 / 6; }
  .catblock__i--divany  { grid-column:2; grid-row:6 / 13; }
  .catblock__i--krovati { grid-column:3; grid-row:1 / 7; }
  .catblock__i--stulya  { grid-column:3; grid-row:7 / 13; }
  .catblock__i--kuhni   { grid-column:4; grid-row:1 / 13; }
  .catblock__label{ font-size:28px; }
  .catblock__title{ font-size:24px; }
}
@media (max-width:430px){
  .catblock__label{ font-size:20px; left:18px; bottom:16px; }
  .catblock__body{ padding:18px; max-width:78%; }
  .catblock__title{ font-size:18px; }
}
/* Конец Категории на главной странице */

/* ===== Одиночный баннер (как слайд) ===== */
.bannerblock{ width:100%; margin:30px 0; box-sizing:border-box; }
.bannerblock *{ box-sizing:border-box; }

.bannerblock__inner{
  position:relative;
  display:flex; align-items:center;
  min-height:580px;                 /* высота баннера на десктопе */
  background-size:cover; background-position:center;
  text-decoration:none; overflow:hidden;
}
.bannerblock__inner::after{
  content:""; position:absolute; inset:0;
  background:rgba(0,0,0,.15);        /* затемнение фото; 0 — убрать */
}
.bannerblock__content{
  position:relative; z-index:2;
  width:100%; max-width:1100px; margin:0 auto;
  padding:0 40px;
  text-align:center;                /* контент по центру */
}
.bannerblock__title{
  font-size:3em; font-weight:700; text-transform:uppercase;
  color:#fff; line-height:1.2; text-shadow:1px 1px 1px #777;
}
.bannerblock__text{
  margin:16px auto 0; max-width:600px;
  font-size:1.6em; font-weight:400; color:#fff; text-shadow:1px 1px 1px #777;
}
.bannerblock__btn{
  display:inline-block; margin-top:24px;
  padding:.6rem 1.5rem;
  background:#996600; color:#fff; font-weight:600;
  border:2px solid #996600; transition:.3s;
}
.bannerblock__btn:hover{
  background:#fff; color:#996600; border-color:#996600;
}
.bannerblock__inner:hover .bannerblock__btn{ background:#fff; color:#996600; border-color:#fff; }

@media (max-width:767px){
  .bannerblock__inner{ min-height:520px; }
  .bannerblock__content{ padding:0 24px; }
  .bannerblock__title{ font-size:2em; }
  .bannerblock__text{ font-size:1.2em; }
}
/* ===== Конец баннера ===== */

/* Схемы диванов: 3 в ряд на десктопе, 1 в ширину на мобильном */
.mksk-shemy{display:flex;gap:10px;justify-content:center;align-items:flex-start;margin:20px 0;flex-wrap:wrap}
.mksk-shemy a{flex:1 1 30%;min-width:0;max-width:100%;display:block}
.mksk-shemy img{width:100%;height:auto;display:block;cursor:zoom-in}
@media (max-width:600px){
  .mksk-shemy{justify-content:flex-start}
  .mksk-shemy a{flex-basis:100%}
}

/* Ссылки в колонках подвала */
.footer-widget a{ color:#fff !important; }
.footer-widget a:hover{ color:#cc9900 !important; }

/* Заголовки колонок в подвале крупнее */
.footer-widget .widget-header{
  font-size: 1.3em;
}

/* Блок "Остались вопросы?" */
.contactblock{
  --title-color:#fff;                 /* цвет заголовка */
  --phone-color:#fff;                 /* цвет телефона */
  --phone-hover:#cc9900;              /* телефон при наведении */
  --hours-color:rgba(255,255,255,.7); /* цвет часов работы */
}
.contactblock__title{
  font-size:1.6em; font-weight:700; line-height:1.2;
  margin-bottom:18px; color:var(--title-color);
}
.contactblock__phone{
  display:inline-block; text-decoration:none;
  font-size:2.4em; font-weight:700; line-height:1;
  color:var(--phone-color); transition:color .2s;
}
.contactblock__phone:hover{ color:var(--phone-hover); }
.contactblock__hours{
  margin-top:14px; color:var(--hours-color);
}
@media (max-width:767px){
  .contactblock__phone{ font-size:1.9em; }
}

/* Ширина виджетов подвала: 40% / 30% / 30% (десктоп) */
@media (min-width:768px){
  .footer-widgets-3 .footer-widget:nth-child(1){ flex-grow:2; } /* 30% */
  .footer-widgets-3 .footer-widget:nth-child(2){ flex-grow:1; } /* 30% */
  .footer-widgets-3 .footer-widget:nth-child(3){ flex-grow:1; } /* 30% */
}

/* Дисклеймер в самом низу подвала */
.footer-disclaimer__inner{
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.15);
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255,255,255,.6);
}