/*
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
*/
/* cache-bust: 20260426 */

/* Below you can add your CSS styles */
/* Ниже Вы можете добавить свои CSS стили */

.shop-item__image {
	width: 100%;
    height: 265px;
}

.shop-item__image-inner {
	width: 100%;
    height: 265px;
    background-size: cover;
    background-position-y: center;
}

@media (min-width: 768px) {
    .card-slider--type-media .card-slider__image {
        position: relative;
        overflow: hidden;
        min-height: 750px;
    }
}

.card-slider--type-media .card-slider__title span {
	background: none;
	padding: 0;
    color: #fff;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    font-size: 55px;
    font-weight: 600;
    font-size: 1.7em;
}

.card-slider--type-media .card-slider__excerpt span {
	background: none;
	padding: 0;
    color: #fff;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    font-weight: 300;
    width: 300px;
    font-size: 1em;
}

.card-slider__price+.card-slider__excerpt, .card-slider__title+.card-slider__excerpt {
    width: 425px;
}

@media screen and (max-width: 480px) {
	.card-slider__price+.card-slider__excerpt, .card-slider__title+.card-slider__excerpt {
	    width: 20.5em;
	}

	.card-slider--type-media .card-slider__body-inner {
	    position: relative;
	    width: 100%;
	    padding-left: 50px;
	    padding-right: 20px;
	}
}

/* Advantages Block */
.advantages {
    display: flex;
    flex-wrap: wrap;
}
.advantage-item {
	width: 33.333%;
}
@media (min-width: 576px) {
	.advantage-item:nth-child(-n+3) {
		margin-bottom: 96px;
	}
}
.advantage-image {
	width: 48px;
    height: 48px;
}
.advantage-title {
	color: #3960FF;
	font-size: 18px;
	font-weight: 500;
	margin-top: 32px;
}
.advantage-text {
	font-size: 14px;
	margin-top: 13px;
}

@media (max-width: 576px) {
    .advantage-item {
		width: 49.999%;
	}
	.advantage-item {
		margin-bottom: 25px;
	}
}

@media (max-width: 480px) {
    .advantage-item {
		width: 100%;
	}
	.advantage-item {
		margin-bottom: 25px;
	}
}

.wrapper-top-catalog-menu {
	display: flex;
    gap: 8px;	
    margin: 40px 0;
}

#menu-menyu-kataloga, .top-catalog-menu {
	/*margin: 40px 0;*/
	display: flex;
    gap: 8px;
    margin: 0;
	padding: 0;
}

#menu-menyu-kataloga > li > input, .top-catalog-menu.menu > li > input {
	display: none;
}

#menu-menyu-kataloga li input, .top-catalog-menu.menu li input {
	width: 16px;
    height: 16px;
    border-radius: 3px;
    cursor: pointer;
}

#menu-menyu-kataloga li, .top-catalog-menu li {
	display: inline-block;
	border: 1px solid #3960FF;
	padding: 13px 18px;
	border-radius: 3px;
	position: relative;
	cursor: pointer;
}

#menu-menyu-kataloga a, .top-catalog-menu a {
	text-decoration: none;
	color: #000;
}

#menu-menyu-kataloga li ul.sub-menu, .top-catalog-menu li ul.sub-menu {
	display: none;
	border: none;
}

#menu-menyu-kataloga li ul.sub-menu li .menu-arrow, .top-catalog-menu li ul.sub-menu li .menu-arrow {
	display: none;
}

#menu-menyu-kataloga .menu-arrow img, .top-catalog-menu .menu-arrow img {
	vertical-align: middle;
	padding-left: 12px;
}

#menu-menyu-kataloga li ul.sub-menu li, .top-catalog-menu li ul.sub-menu li {
	width: 100%;
	border: none;
	display: flex;
}

#menu-menyu-kataloga li ul.sub-menu li a, .top-catalog-menu li ul.sub-menu li a {
	padding-left: 9px;
}

#menu-menyu-kataloga li:hover > a, .top-catalog-menu li:hover > a {
	color: #3960FF;
}

#menu-menyu-kataloga li:hover ul.sub-menu, .top-catalog-menu li:hover ul.sub-menu {
	display: block;
    position: absolute;
    left: 0;
    top: 51px;
    padding: 0;
    min-width: 110%;
    background-color: #fff;
    z-index: 999;
    border-radius: 3px;
    -webkit-box-shadow: 0 2px 45px rgba(178, 165, 105, .25);
    box-shadow: 0 2px 45px rgba(178, 165, 105, .25);
}


.product-advantages {
	list-style: none;
    margin: 31px 0;
    padding: 0;
}

.product-advantages li:nth-child(-n+2) {
	margin-bottom: 11px;
}

.product-advantages li img, .product-advantages li div {
	display: inline-block;
}

.product-advantages li div {
	padding-left: 11px;
}

.product-info .product_meta {
	margin-top: 0;
}

.woocommerce-tabs .wc-tabs {
	text-align: left;
}

.woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 3em 0;
    max-width: 100%;
    margin: 0;
}

#tab-title-description {
	margin-left: 0;
}

/* Work Process Block */
.work-process {
    display: flex;
    flex-wrap: wrap;
}
.work-process-item {
	width: 19.999%;
    padding-right: 32px;
}
@media (min-width: 576px) {
	.work-process-item:nth-child(-n+5) {
		margin-bottom: 96px;
	}
}
.work-process-image {

}
.work-process-title {
	color: #3960FF;
	font-size: 18px;
	font-weight: 500;
	margin-top: 32px;
}
.work-process-text {
	font-size: 14px;
	margin-top: 13px;
}

@media (max-width: 576px) {
    .work-process-item {
		width: 49.999%;
	}
	.work-process-item {
		margin-bottom: 25px;
	}
}

@media (max-width: 480px) {
    .work-process-item {
		width: 100%;
	}
	.work-process-item {
		margin-bottom: 25px;
	}
}


.add_dop_furnitura {
    margin-bottom: 15px;
}

.add_dop_furnitura img {
	height: 80px;
}

.add_dop_furnitura h3 {
    margin-bottom: 15px;
}

.add_dop_furnitura h3:after {
    content: ' ';
    width: 100%;
    height: 1px;
    background: #ebecee;
    display: block;
    margin-top: 5px;
}

.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: 19.999%;
    margin: 5px 0 5px 0;
}
.woocommerce-product-gallery .flex-control-thumbs li:not(:last-child) {
    margin-right: 5px;
}

.woocommerce-product-gallery .flex-control-thumbs {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50px;
    flex: 0 0 50px;
    max-width: none;
    position: relative;
    width: auto;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin: 0 auto;
}

#header_menu {
	display: inline-flex;
}

button.quiz {
	float: right;
}

.menu-pod-shapkoy-container {
	display: flex;
    justify-content: space-between;
}

.quiz-button-wrapper {
	display: block;
    margin: auto 0;
}

.quiz-modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1051;
    display: none;
    width: 100%;
    height: 100%;
    outline: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: rgba(255, 255, 255, .7);
}

@media (min-width: 768px) {
    .product-images {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 60%;
        flex: 0 0 60%;
        max-width: 60%;
        margin-right: 70px;
        margin-bottom: 0;
    }
}


@media (max-width: 480px) {

	.site-header-inner .social-links {
		display: none;
	}

	.header-html-1 {
		display: none;
	}

	/* Header Transformation */
	.humburger {
	    position: absolute;
	    top: 45px;
	    right: 20px;
	    left: unset;
	    z-index: 700;
	}

	.site-branding {
		padding-left: 0;
		-webkit-box-pack: start;
	    -ms-flex-pack: start;
	    justify-content: start;
	}

	.header-mobile-items-container {
		display: none;
	}

	.card-slider--type-media .card-slider__image {
		position: relative;
		overflow: hidden;
		min-height: 210px !important;
	}
}


.woocommerce-product-gallery__image a img {
	max-width: 100%;
    height: 460px;
    vertical-align: bottom;
}

@media (max-width: 768px) {
    .woocommerce-product-gallery__image a img {
		max-width: 100%;
	    height: 220px;
	    vertical-align: bottom;
	}
    .shop-item__buttons {
    	height: 100%;
	    padding-bottom: 10px;
	    margin-top: 0;
	    justify-content: flex-end;
    }
	figure {
		-webkit-margin-start: 0px;
	}
	.work-process-item {
		width: 50%;
	}
	.work-process-item:nth-child(-n+5) {
		margin-bottom: 24px;
	}
	.product-advantages li {
	    display: flex;
	    align-items: center;
	}
}

.removed-link {
	padding-left: 9px;
}


.advantage-item {
	padding: 0 20px;
}

.woocommerce-loop-category__title sup {
	display: none;
}

.header-mobile-item {
	display: none;
}

.price>del {
	order: 0;
}

.price>ins {
	order: 0;
}

.shop-grid {
	-webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
}

/* Стили для страницы FAQ */

.faq-group summary {
  font-size: 20px;
  font-weight: 600;
  background: #333;
  color: #fff;
  padding: 14px 20px;
  border-radius: 6px;
  cursor: pointer;
  margin-bottom: 20px;
  position: relative;
  list-style: none;
}

.faq-group summary::after {
  content: "▼";
  position: absolute;
  right: 20px;
  font-size: 14px;
}

.faq-group[open] summary::after {
  content: "▲";
}

.faq-group {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 0 0 20px;
  margin-bottom: 40px;
  background: #f9f9f9;
}

.faq-columns {
  padding: 0 20px;
}

.faq-columns h4 {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 10px;
}

.faq-columns p {
  font-size: 16px;
  line-height: 1.6;
  color: #444;
}

.faq-columns a {
  text-decoration: underline;
  color: #1a73e8;
}

/* === MIX-MEBEL CUSTOM: Hero Screen (First screen) === */

.section-hero {
  position: relative;
  box-sizing: border-box;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: -40px;

  min-height: 80vh;
  padding: 120px 0; /* Внутренние отступы для контента */
  
  background-size: cover;
  background-position: center center;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
}

/* Полупрозрачное затемнение */
.section-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1;
}

/* Контентная часть поверх оверлея */
.hero-screen__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Бейдж "№1" */
.hero-screen__badge {
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 0.9em;
  font-weight: 300;
  margin-bottom: 25px;
  background: rgba(0, 0, 0, 0.2);
}
.hero-screen__badge strong {
  font-weight: 700;
  /* ИЗМЕНЕНО: Цвет акцента из настроек темы */
  color: var(--color-primary, #3960ff); 
}

/* Главный заголовок */
.hero-screen__title {
  font-size: clamp(32px, 5vw, 55px);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.15;
  margin-bottom: 20px;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.2);
}
.hero-screen__title span {
  display: block;
}

.hero-screen__title { margin-top: 10px !important; }

/* Подзаголовок */
.hero-screen__subtitle {
  font-size: clamp(16px, 2.5vw, 18px);
  font-weight: 300;
  max-width: 450px;
  margin-bottom: 35px;
  opacity: 0.9;
}

/* Кнопка CTA */
.hero-screen__button {
  display: inline-flex;
  align-items: center;
  /* ИЗМЕНЕНО: Цвета из настроек темы */
  background-color: var(--color-primary, #3960ff);
  color: var(--color-btn-text, #fff);
  font-size: 1em;
  font-weight: 600;
  text-decoration: none;
  padding: 16px 35px;
  border-radius: 5px;
  transition: all 0.3s ease;
  text-transform: uppercase;
}
.hero-screen__button:after {
  content: '→';
  margin-left: 12px;
  font-size: 1.2em;
  transition: transform 0.3s ease;
}
.hero-screen__button:hover {
  /* ИЗМЕНЕНО: Цвет при наведении из настроек темы */
  background-color: var(--color-primary-hover, #244cff);
  color: var(--color-btn-text, #fff);
  box-shadow: 0 5px 15px rgba(0,0,0,0.2);
  transform: translateY(-2px);
}
.hero-screen__button:hover:after {
  transform: translateX(4px);
}

/* Адаптив для мобильных */
@media (max-width: 767px) {
  .section-hero {
    margin-top: 0; /* На мобильных убираем отрицательный отступ */
    min-height: 65vh;
    padding: 80px 20px;
    justify-content: center;
    text-align: center;
  }
  .hero-screen__content {
    align-items: center;
  }
}

.hero-screen__badge {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}


@media (max-width: 767px) {
  .hero-screen__badge {
    margin-bottom: 6px;  /* на мобильных — еще компактнее */
    font-size: 0.95em;
    padding: 6px 12px;
  }
  .hero-screen__title {
    font-size: 1.1em;    /* опционально: чуть уменьшить заголовок */
  }
}

@media (min-width: 768px) {
  .section-hero {
    padding-top: 40px !important;     /* подберите визуально до нужного */
    padding-bottom: 60px !important;
  }
}
/* --- Отключаем отрицательные отступы Gutenberg wide-blocks --- */
.wp-block-columns.alignwide,
.wp-block-group.alignwide {
  margin-left: 0 !important;   /* Сброс отрицательного левого отступа */
  margin-right: 0 !important;  /* Сброс отрицательного правого отступа */
  width: 100% !important;      /* Устанавливаем ширину в 100% контейнера */
  max-width: 1200px !important;/* (по желанию) Ограничиваем максимальную ширину блока */
}

/* --- Ограничиваем ширину и выравнивание только на внутренних страницах (НЕ главная) --- */
body.page .section-hero .wp-block-group__inner-container,
body.page .section-hero .wp-block-cover__inner-container {
  max-width: 1200px;           /* Ширина сетки для hero на внутренних страницах */
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

/* --- Ограничиваем ширину и выравнивание hero только для внутренних страниц --- */
body.page .wp-block-cover.alignwide > .wp-block-cover__inner-container {
  max-width: 1200px !important;      /* Основная сетка hero */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;     /* Можно менять на ваш отступ */
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* --- Сбрасываем отступы заголовка и кнопки только в этом блоке --- */
body.page .wp-block-cover.alignwide > .wp-block-cover__inner-container h2,
body.page .wp-block-cover.alignwide > .wp-block-cover__inner-container .wp-block-button__link {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
/* --- Мобильный размер H2 только в hero-блоке внутренних страниц --- */
@media (max-width: 767px) {
  body.page .wp-block-cover.alignwide > .wp-block-cover__inner-container h2 {
    font-size: 2.0em !important;    /* или любое подходящее значение */
    line-height: 1.25 !important;   /* для лучшей читаемости */
    word-break: break-word;         /* перенос длинных слов, если нужно */
    text-align: left !important;    /* если требуется выравнивание */
  }
}
/*
Theme Name: Bono Child
Theme URI: https://wpshop.ru/themes/bono
Author: WPShop.ru
Author URI: http://wpshop.ru/
Template: bono
.mixx-cat-faq-list{
  margin-top: 18px;
  display: grid;
  gap: 18px;
}

.mixx-cat-faq-list .mixx-faq-acc{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

.mixx-cat-faq-list .mixx-faq-summary{
  list-style: none;
  cursor: pointer;
  background: #2f2f2f;
  color: #fff;
  font-weight: 700;
  padding: 18px 22px;
  position: relative;
}
.mixx-cat-faq-list .mixx-faq-summary::-webkit-details-marker{ display:none; }

.mixx-cat-faq-list .mixx-faq-summary::after{
  content: "▼";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  transition: transform .2s ease;
}

.mixx-cat-faq-list details[open] > .mixx-faq-summary::after{
  transform: translateY(-50%) rotate(180deg);
}

.mixx-cat-faq-list .mixx-faq-body{ padding: 18px 22px; }
.mixx-cat-faq-list .mixx-faq-body p{
  margin: 0 0 10px;
  line-height: 1.6;
  opacity: .92;
}
.mixx-cat-faq-list .mixx-faq-body p:last-child{ margin-bottom: 0; }




/* ============================================================
   Виджет отзывов Яндекс.Карт
   Добавлено: 2026-03-03
   ============================================================ */
.reviews-yandex-section {
    padding: 20px 0;
}
.reviews-yandex-container {
    max-width: 800px;
    margin: 0 auto;
    border-radius: 8px;
    overflow: visible;
}
.reviews-yandex-cta {
    text-align: center;
    margin-top: 20px;
}
.reviews-yandex-cta a {
    display: inline-block;
    padding: 12px 30px;
    background: #fc0;
    color: #000;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    transition: opacity 0.2s;
}
.reviews-yandex-cta a:hover {
    opacity: 0.85;
}
@media (max-width: 768px) {
    .reviews-yandex-container iframe {
        height: 450px;
    }
}

/* === MOBILE HORIZONTAL OVERFLOW FIX (2026-04-27) === */

/* 1. Защита от горизонтального скролла — iOS Safari требует оба элемента */
html {
    overflow-x: hidden;
}
body {
    overflow-x: hidden;
    max-width: 100%;
}
/* .site — основной враппер темы, тоже ограничиваем */
.site {
    max-width: 100vw;
    overflow-x: hidden;
}

/* 2. Каталожное фильтр-меню — горизонтальный скролл вместо выхода за экран */
@media (max-width: 767px) {
    .wrapper-top-catalog-menu {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        margin: 20px 0;
        width: 100%;
        max-width: 100%;
    }
    .wrapper-top-catalog-menu::-webkit-scrollbar {
        display: none;
    }
    #menu-menyu-kataloga,
    .top-catalog-menu {
        flex-wrap: nowrap;
        width: max-content;
        padding-bottom: 2px;
    }
}

/* 3. section-hero: заменяем 100vw на 100% чтобы избежать iOS overflow */
@media (max-width: 767px) {
    .section-hero {
        width: 100% !important;
        left: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* 4. Секция отзывов — clip внутренний overflow */
.mixx-reviews-section {
    overflow: hidden;
}

/* 5. Защита от выхода картинок и таблиц за экран */
@media (max-width: 767px) {
    img, table, iframe, video {
        max-width: 100%;
    }
}
