/* Перенесено из кастома parent Alecta (modules.css / woocommerce.css) */

.qodef-info-title {
  width: 66.66667%;
}

@media only screen and (max-width: 768px) {
  .qodef-info-title {
    width: 100%;
  }
}

.qodef-single-product-title {
  font-size: 40px;
}

/* Из Additional CSS (Customizer) — padding 35% был для full-bleed;
 * при ширине сетки 1300 он сжимает текст. */
.qodef-portfolio-single-holder.qodef-ps-fixed-left-layout .qodef-portfolio-fixed-holder .qodef-portfolio-fixed-inner {
  padding: 60px 40px 0 0;
}

/*
 * Single portfolio: те же края, что у шапки (логотип ↔ меню).
 * Ширины = header.qodef-menu-area в этом же файле, не сырой .qodef-grid.
 */
@media only screen and (min-width: 1025px) {
  body.single-portfolio-item .qodef-portfolio-single-holder.qodef-ps-fixed-left-layout {
    display: block;
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    overflow: hidden;
  }

  body.single-portfolio-item .qodef-portfolio-single-holder.qodef-ps-fixed-left-layout > .qodef-grid-row {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  body.single-portfolio-item .qodef-portfolio-single-holder.qodef-ps-fixed-left-layout .qodef-portfolio-fixed-holder .qodef-half-grid {
    width: 100%;
    max-width: none;
    float: none;
  }
}

@media only screen and (min-width: 1400px) {
  body.single-portfolio-item .qodef-portfolio-single-holder.qodef-ps-fixed-left-layout {
    max-width: 1300px;
  }
}

@media only screen and (max-width: 1200px) and (min-width: 1025px) {
  body.single-portfolio-item .qodef-portfolio-single-holder.qodef-ps-fixed-left-layout {
    max-width: 950px;
  }
}

/*
 * /portfolio/: карточки одной высоты.
 * Длинные заголовки на ширине ~1100–1400px переносились на 3 строки
 * и раздували отдельные колонки.
 */
.qodef-portfolio-list-holder .qodef-pli-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: 68px; /* 2 × line-height ~34px */
}

/* portfolio gallery */
.bwg-thumb-description {
  color: #323A45;
  font-family: Ubuntu;
  font-size: 12px;
  line-height: 1.25em;
  padding-bottom: 10px;
}

.bwg-thumb-description a {
  color: #3e78b0;
}

#bwg_container1_0 #bwg_container2_0 .bwg-container-0.bwg-standard-thumbnails {
  justify-content: normal !important;
}

.bwg_image_info_spun .bwg-thumb-description {
  padding-top: 20px;
}

article.bwg_tag .qodef-post-info-top,
article.bwg_tag h3 {
  display: none;
}

body.archive .qodef-title-holder {
  display: none;
}

a.page-numbers,
span.page-numbers {
  font-size: 28px !important;
  font-weight: 400 !important;
}

.wp-block-search__button {
  background-color: #379aeb !important;
}

.wp-block-search__input {
  border: 1px solid rgba(148, 148, 148, 0.4) !important;
  margin-right: 5px;
  border-radius: 10px;
}

/* Магазин: оверлеи с прода (кастом alecta/assets/css/woocommerce.min.css) */
:root {
  --dark-blue: #1b2867;
  --corus-blue: #379aeb;
}

.qodef-woocommerce-page.woocommerce-account .woocommerce .col2-set.addresses address,
.qodef-woocommerce-page.woocommerce-order-received .woocommerce .col2-set.addresses address {
  font-style: normal;
}

.qodef-plc-holder .qodef-plc-item .qodef-plc-price ins,
.qodef-woo-single-page .qodef-single-product-summary .price ins,
.widget.woocommerce.widget_products ul li ins,
.widget.woocommerce.widget_recent_reviews ul li ins,
.widget.woocommerce.widget_recently_viewed_products ul li ins,
.widget.woocommerce.widget_top_rated_products ul li ins,
ul.products > .product .price ins {
  text-decoration: none;
}

ul.products > .product .price {
  display: block;
  line-height: 1;
  margin: 0 0 20px 0;
  color: var(--corus-blue);
  font-family: Poppins, sans-serif;
  font-weight: 500;
  font-size: 20px;
  text-align: left;
}

.qodef-woo-single-page .qodef-single-product-summary .price {
  position: relative;
  display: block;
  margin: 35px 0 0;
  line-height: 1;
  color: var(--corus-blue);
  font-size: 30px;
}

.qodef-woocommerce-page .qodef-content .variations .reset_variations {
  margin: 15px 0 0;
  color: var(--dark-blue);
  display: block;
  font-weight: 600;
}

.woocommerce-pagination .page-numbers li a:after,
.woocommerce-pagination .page-numbers li span:after {
  background-color: var(--dark-blue);
}

.woocommerce-pagination .page-numbers li a.next .qodef-pagination-arrow,
.woocommerce-pagination .page-numbers li a.prev .qodef-pagination-arrow,
.woocommerce-page .qodef-content .qodef-quantity-buttons .qodef-quantity-minus:hover,
.woocommerce-page .qodef-content .qodef-quantity-buttons .qodef-quantity-plus:hover,
div.woocommerce .qodef-quantity-buttons .qodef-quantity-minus:hover,
div.woocommerce .qodef-quantity-buttons .qodef-quantity-plus:hover,
.select2-container--default .select2-selection--single .select2-selection__arrow:before,
.woocommerce .star-rating,
.qodef-woo-pl-info-below-image .qodef-pl-main-holder ul.products > .product .added_to_cart:hover,
.qodef-woo-pl-info-below-image .qodef-pl-main-holder ul.products > .product .button:hover,
ul.products > .product .added_to_cart:hover,
ul.products > .product .button:hover,
.qodef-woo-single-page .qodef-single-product-summary .product_meta > span .sku:hover,
.qodef-woo-single-page .qodef-single-product-summary .product_meta > span a:hover,
.qodef-shopping-cart-dropdown .qodef-item-info-holder .amount,
.qodef-shopping-cart-dropdown .qodef-cart-bottom .qodef-subtotal-holder .qodef-total-amount,
.widget.woocommerce.widget_layered_nav ul li.chosen a,
.widget.woocommerce.widget_product_search .woocommerce-product-search button,
.qodef-plc-holder .qodef-plc-item .qodef-plc-price {
  color: var(--dark-blue);
}

.qodef-woo-pl-info-below-image .qodef-pl-main-holder ul.products > .product .added_to_cart:hover,
.qodef-woo-pl-info-below-image .qodef-pl-main-holder ul.products > .product .button:hover,
ul.products > .product .added_to_cart:hover,
ul.products > .product .button:hover {
  background-color: transparent;
}

.qodef-woo-single-page .woocommerce-tabs ul.tabs > li a:after {
  background-color: var(--corus-blue);
}

.widget.woocommerce.widget_price_filter .price_slider_wrapper .ui-widget-content .ui-slider-handle,
.widget.woocommerce.widget_price_filter .price_slider_wrapper .ui-widget-content .ui-slider-range,
.qodef-plc-holder .qodef-plc-item .qodef-plc-add-to-cart.qodef-light-skin .added_to_cart:hover,
.qodef-plc-holder .qodef-plc-item .qodef-plc-add-to-cart.qodef-light-skin .button:hover,
.qodef-plc-holder .qodef-plc-item .qodef-plc-add-to-cart.qodef-dark-skin .added_to_cart:hover,
.qodef-plc-holder .qodef-plc-item .qodef-plc-add-to-cart.qodef-dark-skin .button:hover {
  background-color: var(--dark-blue);
}

/*
 * Каталог как на проде: кнопки Woo «Add to cart» / «Select options» скрыты
 * (в prod woocommerce.min.css: .woocommerce-page .qodef-content a.button { display:none !important }).
 * Кнопка «Заказать» (qodef-btn, mailto) не затрагивается.
 */
.woocommerce-page .qodef-content a.button,
.woocommerce-page .qodef-content a.button.added,
div.woocommerce a.button.added,
ul.products > .product .button,
ul.products > .product .button.added,
ul.products > .product .add_to_cart_button,
ul.products > .product .added_to_cart,
.qodef-plc-holder .qodef-plc-item .button.added {
  display: none !important;
}

.qodef-out-of-stock {
  display: none !important;
}

.qodef-woo-single-page .qodef-single-product-summary .qodef-woo-social-share-holder {
  display: none !important;
}

.qodef-vertical-menu-area .qodef-shopping-cart-dropdown,
.qodef-shopping-cart-holder,
.qodef-shopping-cart-dropdown {
  display: none !important;
}

/*
 * WP 6.7+/7: sizes="auto" + пустой SVG placeholder (native-lazyload) раздувает
 * картинки ниже первого ряда (width:100% без высоты). Фиксируем квадрат как у Woo thumbnail.
 */
ul.products > .product .qodef-pl-inner .qodef-pl-image img,
ul.products > .product img.attachment-woocommerce_thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  vertical-align: top;
}

/* Back to top: на проде в modules.min — #379aeb / hover #1b2867 (сток темы красный) */
#qodef-back-to-top > span {
  background-color: var(--corus-blue, #379aeb);
}

#qodef-back-to-top > span:after {
  background-color: var(--dark-blue, #1b2867);
}

/*
 * Базовый шрифт/цвет как на проде (там правлен modules.min.css: Roboto + black).
 * Не трогаем parent — только child.
 */
body {
  font-family: Roboto, sans-serif;
  color: #000;
}

/*
 * Магазин: кастом из prod alecta/assets/css/woocommerce.min.css (хвост файла).
 * Меню категорий (WPB Accordion), заголовки карточек.
 */
.wpb_category_n_menu_accordion > ul > li > a {
  font-size: 21px !important;
}

.wpb_category_n_menu_accordion li a {
  font-size: 14px;
}

.wpb_category_n_menu_accordion ul li > a > span.wpb-submenu-indicator {
  width: 20px;
}

.qodef-product-list-title {
  font-size: 16px;
  text-align: left;
}

.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
  color: #000;
}

/*
 * Футер как на проде (кастом modules.min.css).
 * style_dynamic после обновления темы красит ссылки/hover в first_color и показывает bullets.
 */
footer .widget {
  color: #fff;
  margin-bottom: 20px;
}

footer .widget .qodef-widget-title-holder .qodef-widget-title {
  color: #c7c7c7;
}

footer .widget ul li a,
.qodef-page-footer a,
.qodef-page-footer p a {
  color: #c7c7c7;
}

footer .widget ul li a:hover,
.qodef-page-footer a:hover,
.qodef-page-footer p a:hover {
  color: #fff;
}

footer .widget.widget_nav_menu ul li {
  padding: 6px 0 12px;
  list-style: none;
}

footer .widget.widget_nav_menu ul li a {
  font-weight: 400;
}

/* На проде маркеры меню в футере убраны из modules.min.css */
footer .widget.widget_nav_menu ul li:before,
footer .widget.widget_nav_menu ul li :before {
  content: none !important;
  display: none !important;
}

/*
 * Высота главной карусели — как у прежней лёгкой video-версии (не fullscreen 100vh).
 * RevSlider JS иначе тянет модуль на всю высоту окна.
 */
body.home #rev_slider_1_1_wrapper {
  height: 60vh !important;
  min-height: 460px !important;
  max-height: none !important;
  position: relative !important;
}

body.home #rev_slider_1_1_wrapper #rev_slider_1_1,
body.home #rev_slider_1_1_wrapper rs-module {
  height: 100% !important;
}

/* После уменьшения высоты fullwidth-форсер RevSlider оставлял пустоту под слайдером */
body.home rs-fw-forcer,
body.home .rs-fw-forcer {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.home rs-fullwidth-wrap,
body.home .rs-fullwidth-wrap,
body.home .wpb_revslider_element {
  height: auto !important;
  min-height: 0 !important;
}

/*
 * Текст слайдера: по сетке контента (десктоп) и по центру по вертикали.
 * Класс / --corus-layer-shift* задаёт slider-content-inset.js.
 */
body.home #rev_slider_1_1 rs-slide > .rs-parallax-wrap {
  margin-top: var(--corus-layer-shift-y, 0px) !important;
}

@media only screen and (min-width: 1025px) {
  body.home #rev_slider_1_1 rs-slide > .rs-parallax-wrap.corus-content-layer {
    margin-left: var(--corus-layer-shift, 0px) !important;
  }
}

/* На главной логотип без клика; тег <a> оставляем — на него завязаны стили темы */
body.home .qodef-logo-wrapper > a {
  pointer-events: none;
  cursor: default;
}

/*
 * Десктоп: шапка по ширине контентной сетки (поля слева/справа).
 * Нельзя только max-width на .qodef-menu-area: внутренний .qodef-grid
 * продолжает считать margin от viewport и ломает раскладку.
 * Ширины = breakpoints темы qodef-grid-1300.
 */
@media only screen and (min-width: 1025px) {
  header.qodef-page-header .qodef-menu-area {
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }

  header.qodef-page-header .qodef-menu-area > .qodef-grid {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media only screen and (min-width: 1400px) {
  header.qodef-page-header .qodef-menu-area {
    max-width: 1300px;
  }
}

@media only screen and (max-width: 1200px) and (min-width: 1025px) {
  header.qodef-page-header .qodef-menu-area {
    max-width: 950px;
  }
}

/*
 * Цвета выделения текста и hover-кнопок:
 * на Local у нас остаются стоковые значения из parent `modules.min.css`,
 * поэтому подменяем только нужные куски на правильную палитру из prod.
 */
::selection {
  background: #379aeb;
  color: #fff;
}
::-moz-selection {
  background: #379aeb;
  color: #fff;
}

/* solid button hover */
.qodef-btn.qodef-btn-solid:not(.qodef-btn-custom-hover-color):hover {
  color: #fff !important;
}
.qodef-btn.qodef-btn-solid:not(.qodef-btn-custom-hover-bg):hover {
  background-color: #1b2867 !important;
}
.qodef-btn.qodef-btn-solid:not(.qodef-btn-custom-border-hover):hover {
  border-color: #1b2867 !important;
}

/* outline button hover */
.qodef-btn.qodef-btn-outline:not(.qodef-btn-custom-hover-color):hover {
  color: #fff !important;
}
.qodef-btn.qodef-btn-outline:not(.qodef-btn-custom-hover-bg):hover {
  background-color: #379aeb !important;
}
.qodef-btn.qodef-btn-outline:not(.qodef-btn-custom-border-hover):hover {
  border-color: #379aeb !important;
}

/* animated solid button hover background */
.qodef-btn.qodef-btn-animated.qodef-btn-solid .qodef-hover-background {
  background-color: #1b2867 !important;
  border-color: #1b2867 !important;
}

/*
 * Ограничение скролла/тача внутри карты до клика (как на fnt66.ru/contact/).
 * Делаем это pointer-events: none для iframe, а поверх ставим “активационный” оверлей.
 */
.corus-map-scroll-lock--inactive iframe {
  pointer-events: none;
}

.corus-map-scroll-lock__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  cursor: pointer;
  background: transparent;
}

.corus-map-scroll-lock__overlay:focus {
  outline: 2px solid #379aeb;
  outline-offset: -2px;
}

/*
 * Крошки: показываем только для страниц 3-го уровня и ниже.
 * На более “мелких” страницах скрываем сам контейнер, чтобы не оставлять место.
 */
body.corus-no-breadcrumbs .qodef-breadcrumbs-info {
  display: none;
}

/*
 * Главная: “Написать нам!” — qodef-btn-simple с inline color:#fff.
 * После снятия popmake старый селектор перестал матчиться; держим цвет как у “Читать”.
 */
body.home a.qodef-btn.qodef-btn-simple[href^="mailto:"],
body.home a.qodef-btn.qodef-btn-simple[href^="mailto:"] .qodef-btn-text {
  color: #000 !important;
}

body.home a.qodef-btn.qodef-btn-simple[href^="mailto:"]:not(.qodef-btn-custom-hover-color):hover,
body.home a.qodef-btn.qodef-btn-simple[href^="mailto:"]:not(.qodef-btn-custom-hover-color):hover .qodef-btn-text {
  color: #4c4c4c !important;
}
