/*
Theme Name: Storefront child
Template: storefront
Author: Pavel Rozhdestvensky
Version: 0.0.1
*/

/*
-- Сделать класс для заголовков с line-height: 1;
*/

:root {
  --color-1: #2c2d33;
  --color-2: #0297db;
  --color-3: #f2f2f2;
  --color-4: #dbdbdb;
  --color-5: #fff;
  --color-6: #333;
  --color-7: #ffb6c1;
}

img {
  display: inline-block;
  vertical-align: bottom;
  width: auto;
  max-width: 100%;
  height: auto;
}

body,
button,
input,
textarea {
  font-family: "Roboto Condensed", serif;
  line-height: 1.32;
  font-weight: 400;
  color: #43454b;
  text-rendering: optimizeLegibility;
  font-optical-sizing: auto; /* Свойство рекомендуемое Google fonts */
}

p {
  margin: 0 0 0.62em;
}

/* Классы для Grid */

.grid {
  display: grid;
}

.grid-top-left {}



.grid-as-inline-block {}

.search-form,
.search-form input[type~="search"],
.search-form input[type~="search"]::-webkit-search-decoration,
.search-form button[type~="submit"],
.search-form button[type~="submit"]:hover {
  all: unset;
  display: revert;
}

.no-list-style {
  margin: 0;
  padding: 0;
  list-style-type: none;
  list-style-position: outside;
  list-style-image: none;
}

.icon-on-dark-bg {}
.dashicon-specstyle {}
.light-dashicon {}
.dark-dashicon {}

[class*="dashicons"],
[class*="dashicons"]::before {
  color: var(--color-7);
}




/* Независимые от конкретного положения модули */




/* Форма поиска */

.search-form,
.search-form input[type~="search"] {
  width: 100%;
  box-sizing: border-box;
}

.search-form {
  position: relative;
  overflow: hidden;
}

.search-form .search-form__label { all: unset; display: revert; }
.search-form .search-form__label {
  position: absolute;
  top: 0;
  left: -100%;
}

.search-form input[type~="search"].search-form__field,
.search-form button[type~="submit"].search-form__button {
  height: 40px;
}

.search-form input[type~="search"].search-form__field {
  padding: 0 40px 0 10px;
  background-color: #fbfbfb;
  border: 1px solid #d6d4d4;
}

.search-form button[type~="submit"].search-form__button {
  width: 40px;
  position: absolute;
  top: 0;
  right: 0;
  overflow: hidden;
  cursor: pointer;
}

.search-form .search-form__button-text {
  position: absolute;
  top: 100%;
  left: 100%;
}

.search-form .search-form__button-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  transform: translate(50%, -50%);
}

.search-form .search-form__button-icon path {
  fill: inherit;
  transition: fill .25s ease-in-out;
}

.search-form .search-form__button:hover .search-form__button-icon path {
  fill: var(--color-2);
}




/* ! Если слайдер состоит из нескольких слайдов не 100% ширины,
     то не забывать выставлять так же ширину слайдов в настройках слайдера,
     чтобы они совпадали с шириной области сетки
*/

.promo {
  display: grid;
  grid-template-columns: 200px 1fr 200px;
  grid-template-rows: 250px 250px;
  justify-items: stretch;
  align-items: stretch;
  grid-column-gap: 15px;
  grid-row-gap: 15px;

  margin-top: 40px;
}

.promo__static-area {}

.promo__static-area-1 {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}

.promo__static-area-2 {
  grid-column: 3 / 4;
  grid-row: 1 / 2;
}

.promo__static-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.carousel {}

.carousel-1 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.carousel-2 {
  grid-column: 1 / 4;
  grid-row: 2 / 3;
}






/* Блок - Наши партнёры */

.partners {
  display: grid;
  grid-auto-flow: row;
  justify-content: start;
  align-content: start;
  justify-items: stretch;
  align-items: start;
}

.partners--title {
  margin: 0;
  line-height: 1;
}

.partners--list {}

.partners--list-item {}




/* Блок - Пункты выдачи */
/*
.delivery-points {
  display: grid;
  grid-auto-flow: row;
  justify-content: start;
  align-content: start;
  justify-items: start;
  align-items: start;
  grid-column-gap: 2ch;
}
*/
.delivery-points--title {}

.delivery-points--list {}

.delivery-point {}

.delivery-point--icon {}

.delivery-point--address {}

.delivery-point--phone {}




/* Блок - Информация о доставке */
/*
.shipping-info {}

.shipping-info--title {}

.shipping-info--content {}
*/




/* Блок - Преимущества */

.benefits {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  align-content: start;
  justify-items: start;
  align-items: start;
  grid-column-gap: 4ch;
  grid-row-gap: 4ch;
}

.benefits__area {}

.benefits__area-1 {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}

.benefits__area-2 {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}

.benefits__area-3 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.benefits__area-4 {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}

.benefits__area-5 {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
}

.benefits__main-title,
.benefits__title {
  margin: 0;
  font-size: inherit;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
}

.benefits__main-title {
  padding: 0 15%;
  text-align: center;
  color: var(--color-1);
}

.benefits__title {
  color: var(--color-2);
}

.benefits__content {
  margin-top: 0.7ch;
}




.document {
  width: 100%;
  min-height: 100vh;
  /*
  Поведение как у display: block:
  -- займёт всю доступную ширину и необходимую высоту
  */
  display: grid;

  /*
  Выравнивание виртуальных ЯЧЕЕК сетки (НЕ элементов).
  Сразу для всех:
  justify-content: stretch;
  Индивидуально для каждой (требуется знать точное количество):
  grid-template-columns: 1fr 1fr 1fr;
  Совмещённый подход (не рекомендуется):
  для всех:
  justify-content: stretch;
  для первой и второй индивидуально:
  grid-template-columns: 100px 100px;
  */

  /*
  Выравнивание виртуальных ЯЧЕЕК сетки (НЕ элементов).
  -- Будет работать, только если внутри ВИРТУАЛЬНЫХ ячеек
     есть свободное место для выравнивания. То есть,
     свойство justify-content, имеет значение, предполагающее
     наличие свободного места (stretch и подобное).
  Если, к примеру, свойство "justify-content: start;",
  то виртуальные ячейки сожмутся влево и свойство
  "justify-items: center;" будет бесполезно, так как
  внутри виртуальных ячеек просто не будет свободного места,
  для выравнивания элементов сетки.
  */
  justify-content: stretch;
  align-content: stretch;

  /* Выравнивание ЭЛЕМЕНТОВ сетки внутри виртуальных ЯЧЕЕК. */
  justify-items: stretch;
  align-items: stretch;
}

.document-body {
  display: grid;
  justify-content: stretch;
  align-content: stretch;
  justify-items: stretch;
  align-items: stretch;
}

.document-container {
  display: grid;
  grid-template-columns: 1400px;
  grid-template-rows: auto 1fr auto;
  justify-items: stretch;
  align-items: stretch;
}

.col-full {
  max-width: 1400px !important;
  padding: 0 4ch;
}




/** шапка документа > разметка */

.document-header {}

.document-header__container {
  display: grid;
  /* justify-content: start; */
  align-content: start;
  justify-items: stretch;
  align-items: start;
  /* grid-template-columns: 1fr 1fr 1fr 1fr; */
  grid-template-columns: calc(100% - 73.9130434783% - 4ch) 1fr auto auto;
  grid-template-rows: 1fr 1fr;
  grid-column-gap: 4ch;
  grid-row-gap: 10px;
}

.document-header__logo {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  align-self: center;
}

.document-header__search,
.document-header__menu,
.document-header__user-account,
.document-header__cart,
.document-footer--menu {
  height: 40px;
}

.document-header__search {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  align-self: end;
}

.document-header__menu {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  align-self: start;
}

.document-header__telephone {
  grid-column: 3 / 4;
  grid-row: 1 / 3;
  align-self: center;
}

.document-header__user-account {
  grid-column: 4 / 5;
  grid-row: 1 / 2;
  align-self: end;
}

.document-header__cart {
  grid-column: 4 / 5;
  grid-row: 2 / 3;
  align-self: start;
}


/* шапка документа > стилизация */

.document-header {
  border-bottom: 2px solid var(--color-4);
}

.document-header__logo {
  padding-top: 1ch;
  padding-bottom: 1ch;
}

.document-header__menu {
  display: grid;
  grid-auto-flow: column;
  align-content: stretch;
  justify-items: stretch;
  align-items: stretch;
  grid-column-gap: 1ch;
  background-color: var(--color-2);
}

.document-header__menu-item-link {
  display: grid;
  justify-content: stretch;
  align-content: stretch;
  justify-items: center;
  align-items: center;
  line-height: 1;
  text-transform: uppercase;
  color: var(--color-5);
}

.document-header__telephone {
  display: grid;
  grid-template-columns: 1.5ch auto;
  justify-content: start;
  align-content: stretch;
  justify-items: start;
  align-items: center;
  grid-column-gap: .5ch;
  font-size: 1.7em;
}

.document-header__telephone-icon {}

.document-header__telephone-number {
  font-weight: 700;
  line-height: 1;
  color: var(--color-1);
}

.document-header__user-account {
  display: grid;
  grid-template-columns: 1.5ch auto;
  justify-content: start;
  align-content: stretch;
  justify-items: start;
  align-items: center;
  grid-column-gap: 1ch;
  padding: 0 1ch;
  background-color: var(--color-3);
}

.document-header__user-account-icon {}

.document-header__user-account-login-register {
  color: var(--color-1);
}

.document-header__cart {
  display: grid;
  grid-template-columns: 2.5ch auto;
  justify-content: stretch;
  align-content: stretch;
  justify-items: start;
  align-items: center;
  grid-column-gap: 1ch;
  padding: 1ch;
  background-color: var(--color-2);
}

.document-header__cart-data {
  color: var(--color-5);
}




/* Центральная часть страницы */

.document-content {
  background-image: linear-gradient(to bottom, var(--color-3), transparent);
  background-repeat: no-repeat;
  background-size: 100% 500px;
  background-position: top;
}




.document-main {
  overflow: hidden;
  margin-top: 4ch;
  position: relative;
  z-index: 10;
}

.site-main {
  margin-top: 40px;
}




.benefits-in-main {
  margin-top: 80px;
}




/* Главный футер */

.document-footer {
  background-color: var(--color-6);
}

.document-footer__container {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto auto;
  justify-content: stretch;
  align-content: start;
  justify-items: start;
  align-items: start;
  padding-top: 4ch;
  padding-bottom: 4ch;
}



.document-footer--partners {}

.document-footer--partners-title {
  color: var(--color-7);
  text-transform: uppercase;
}

.document-footer--partners-list-item {}


.document-footer--menu {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  align-self: start;

  display: grid;
  grid-auto-flow: column;
  align-content: stretch;
  justify-items: stretch;
  align-items: stretch;
  grid-column-gap: 1ch;

  margin-left: -1ch;
}

.document-footer--menu-item-link {
  display: grid;
  justify-content: stretch;
  align-content: stretch;
  justify-items: center;
  align-items: center;
  padding-right: 1ch;
  padding-left: 1ch;
  line-height: 1;
  text-transform: uppercase;
  color: var(--color-5);
}

/*
.document-footer--delivery-points {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  align-self: start;
}

.document-footer--delivery-points-title {
  color: var(--color-7);
  text-transform: uppercase;
}

.document-footer--delivery-point {
  color: var(--color-5);
}
*/
/*
.document-footer--shipping-info {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  align-self: start;
}
*/




/* Настройка нативного виджета WC Product categories */

.widget_product_categories {
  margin-top: 40px;
  background-color: var(--color-5);
}

div.widget_product_categories ul {
  margin-top: 0 !important;
}

div.widget_product_categories > ul > li {
  padding-left: 0;
}

/*div.widget_product_categories ul li {
  margin-bottom: 10px;
}*/

.widget-area .widget a {
  text-decoration: none;
}

div.widget_product_categories > ul > li > ul {
  padding-right: 10px;
  margin-top: 15px !important;
}

div.widget_product_categories ul li::before {
  content: none !important;
}

div.widget_product_categories > ul > li > a {
  display: block;
  padding: 2ch 3ch;
  color: var(--color-5) !important;
  background-color: var(--color-2);
  border-radius: 2px;
  text-transform: uppercase;
}

/* Элементы меню НЕ первого уровня (второго, третьего и т.д.) */
ul.children li.cat-item {
  display: block;
  list-style: none !important;
  margin-top: 5px;
  margin-bottom: 0;
  margin-left: 3ch;
  position: relative;
  padding-left: 2ch;
}

ul.children li.cat-item::after {
  content: '\2022'; /* ● */
  position: absolute;
  top: 10px;
  transform: translateY(-50%);
  left: 0;
  font-size: 22px;
}

ul.children li.cat-item * {
  font-weight: 700;
  font-size: 16px;
}

ul.children li.cat-item li.cat-item {
  margin-left: 0;
}

ul.children li.cat-item li.cat-item::after {
  content: '\25E6'; /* ◦ */
}

ul.children li.cat-item li.cat-item > a {
  font-weight: 400;
}

/* Временно!
   Скрыть пункт "Без категории" */
/*li.cat-item.cat-item-49 {
  display: none;
}*/









/* Настройка сетки товаров */

ul.products::before,
ul.products::after {
  display: none !important;
}

ul.products {
  display: grid;
  justify-content: stretch;
  align-content: start;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  /* Все строки в сетке одинаковой высоты */
  /* grid-auto-rows: 1fr; */
  justify-items: stretch;
  align-items: stretch;
  grid-column-gap: 40px;
  grid-row-gap: 40px;
}




/* Настройка товара */

ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;

  display: grid;
  justify-content: stretch;
  align-content: stretch;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto;
  justify-items: stretch;
  align-items: stretch;
  grid-row-gap: 10px;
}

ul.products li.product .woocommerce-loop-product__link {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
  align-self: start;
}

ul.products li.product .price {
  margin: 0 !important;
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  justify-self: start;
  align-self: center;
}

ul.products li.product .add_to_cart_button {
  margin: 0 !important;
  grid-column: 2 / 3;
  grid-row: 2 / 3;

  padding: 5px !important;
  line-height: 1 !important;
  color: var(--color-2) !important;
  background-color: transparent !important;
  border: 3px solid var(--color-2) !important;
  border-radius: 3px !important;

  transition: color .1s ease-in-out, background-color .1s ease-in-out;
}

ul.products li.product .add_to_cart_button:hover {
  color: var(--color-5) !important;
  background-color: var(--color-2) !important;
}

ul.products li.product .size-woocommerce_thumbnail,
ul.products li.product .woocommerce-placeholder {
  margin-bottom: 10px !important;
  max-height: 150px !important;
}

ul.products li.product .woocommerce-loop-product__title {
  text-align: left !important;
}

ul.products li.product .price bdi {
  color: var(--color-2) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}









.front-page-title {
  margin-bottom: 40px;
  padding: 15px 20px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 2px;
  text-transform: uppercase;
}

.front-page-title-1 {
  background-color: var(--color-2);
  color: var(--color-5);
}

.front-page-title-2 {
  margin-top: 80px;
  background-color: var(--color-7);
  color: var(--color-1);
}









nav.woocommerce-pagination {
  margin-top: 40px;
}









/* Настройка раздела "Доставка" в таблице "Ваш заказ",
   на страницах "Корзина" и "Оформление заказа" */

.woocommerce-checkout ul#shipping_method {
  margin-bottom: 0;
  display: grid;
  grid-auto-flow: row;
  grid-auto-rows: auto;
  justify-content: start;
  align-content: start;
  justify-items: start;
  align-items: start;
  grid-row-gap: 0.5em;
}

ul#shipping_method li {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  justify-content: start;
  align-content: start;
  justify-items: start;
  align-items: start;
  grid-column-gap: .5em;
}

ul#shipping_method input {
  margin: .25em 0 0 0 !important;
}

ul#shipping_method input[type=checkbox]+label,
ul#shipping_method input[type=radio]+label {
  margin: 0;
}






.document-footer--partners {
  margin-top: 4ch;
  grid-row-gap: 20px;
}

.partners-carousel {}

.partners--list {
  height: 50px;
}

.partners--list-item {}

.partners--list-item .flexslider__slide-image {
  object-fit: contain !important;
  object-position: center !important;
}

















/*
стили для виджета строкового адреса

.address-string {
  font-style: normal;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAKCAYAAACXDi8zAAAACXBIWXMAAAsTAAALEwEAmpwYAAABNmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarY6xSsNQFEDPi6LiUCsEcXB4kygotupgxqQtRRCs1SHJ1qShSmkSXl7VfoSjWwcXd7/AyVFwUPwC/0Bx6uAQIYODCJ7p3MPlcsGo2HWnYZRhEGvVbjrS9Xw5+8QMUwDQCbPUbrUOAOIkjvjB5ysC4HnTrjsN/sZ8mCoNTIDtbpSFICpA/0KnGsQYMIN+qkHcAaY6addAPAClXu4vQCnI/Q0oKdfzQXwAZs/1fDDmADPIfQUwdXSpAWpJOlJnvVMtq5ZlSbubBJE8HmU6GmRyPw4TlSaqo6MukP8HwGK+2G46cq1qWXvr/DOu58vc3o8QgFh6LFpBOFTn3yqMnd/n4sZ4GQ5vYXpStN0ruNmAheuirVahvAX34y/Axk/96FpPYgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6AAAUggAARVYAAA6lwAAF2/XWh+QAAAAm0lEQVR42kzOoU1DAQCE4e+a51iAARoUU1BEGYHUIkhgA0DxhoABqARHKqiEJToCWPQh+ppwybn77y5tbVbnY9vrBPK0fPm4z/vl2V2SEdpKou3DDLdtYTFZkpsh/OBYO8++i/Z7EJ84bT3bk/A1I28tSRyAxGumVzvMqdbuYr09mU3oOGUlHiHTI5vV4ldZrrdHMBzWWlf+6W8A/No+Z8eK4tUAAAAASUVORK5CYII=");
  background-repeat: no-repeat;
  background-position: 0 50%;
  padding-left: 10px;
}

.address-string__separator {}

.widget-area .widget .address-string__telephone {
  font-weight: normal;
  text-decoration: none;
}

.address-string__message {
  color: #ff4500;
}
*/
