@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400&display=swap');

:root{
  --clr-text: #434343;
  --clr-brand: #457D85;
  --clr-brand-hover: #457D85;
  --clr-bg: #fff;

  --fs-100: 0.875rem; /* 14px */
  --fs-200: 1rem;     /* 16px */
  --fs-300: 1.125rem; /* 18px */
  --fs-400: 1.4rem;  /* 20px */
  --fs-500: 1.5rem;   /* 24px */
}

/* ------------ HEADER ------------ */

.header {
  padding: 20px 0 0 0;
  width: 100%;

  /*position: fixed;*/
  top: 0;
  left: 0;
  z-index: 100;

  background-color: var(--clr-bg);
}

.header__container {
  margin-bottom: 25px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.header__logo {
  width: clamp(280px, 36vw, 360px);
  height: auto;
}

.info_panel {
  color: var(--clr-text);
  text-align: right;
  font-size: var(--fs-300);
}

.header-info {
  margin-top: 8px;
}

.contacts__list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

.contacts__list {
  display: grid;
  justify-items: end;
  row-gap: 4px;
  width: 100%;
}

.contacts__item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.contacts__item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}

.contacts__icon img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  display: block;
}

.contacts__phone {
  font-weight: 700;
  font-size: clamp(var(--fs-400), 1.2rem + .5vw, var(--fs-500));
  color: #000;
  text-decoration: none;
}

.contacts__link {
  font-size: var(--fs-400);
  text-decoration: none;
  color: #000;
}

.contacts__link:hover,
.contacts__phone:hover {
  color: var(--clr-brand-hover);
}

.contacts__address {
  font-style: normal;
  font-size: var(--fs-400);
  color: #000;
}

.phone-number {
  font-weight: 700;
  font-size: var(--fs-400);
}

.info_panel a:hover {
  color: var(--clr-brand-hover);
}

.info_panel a:active {
  color: var(--clr-brand);
}

.phone-info__hint {
  font-size: 14px;
  color: #878787;
}

.location-info {
  display: flex;
  text-align: center;
}

.location-info ul {
  font-size: 16px;
  margin-left: 10px;
  text-align: right;
}

.info-order-button {
  height:45px;

  text-transform: uppercase;
  white-space: normal;         /* перенос разрешён */
  word-break: keep-all;        /* не делить слова */
  overflow-wrap: normal;       /* переносить только по пробелам */
  hyphens: none;               /* без дефисов */
  font-size: 15px;

  line-height: 1;

  display: flex;
  align-items: center;
  justify-content: center;
  
  letter-spacing: 0.1em;
  width: 100%;

  color: #fff;
  text-decoration: none;
  
  background:var(--clr-brand);
  cursor:pointer;
  
  padding: 0px 60px 0px 60px;
}

.header__menu{
  display: none;
}

.burger-checkbox {
  position: absolute;
  visibility: hidden;
}

.burger {
  position: relative;
  z-index: 1;
  cursor: pointer;
  display: block;
  border: none;
  background: transparent;
  width: 40px;
  height: 26px;
}

.burger::before,
.burger::after {
  content: '';
  left: 0;
  position: absolute;
  display: block;
  width: 100%;
  height: 4px;
  border-radius: 10px;
  background: var(--clr-brand);
}

.burger::before {
  top: 0;
  box-shadow: 0 11px 0 var(--clr-brand);
  transition: box-shadow .3s .15s, top .3s .15s, transform .3s;
}

.burger::after {
  bottom: 0;
  transition: bottom .3s .15s, transform .3s;
}

.burger-checkbox:checked + .burger::before {
  top: 11px;
  transform: rotate(45deg);
  box-shadow: 0 6px 0 rgba(0,0,0,0);
  transition: box-shadow .15s, top .3s, transform .3s .15s;
}

.burger-checkbox:checked + .burger::after {
  bottom: 11px;
  transform: rotate(-45deg);
  transition: bottom .3s, transform .3s .15s;
}

/* ------------ NAV PANEL ------------ */

.nav-panel {
  color: #fff;
  font-size: var(--fs-400);
  text-align: center;

  background: #fff;           /* белые просветы между карточками */
  height: fit-content;               /* высота определяется контентом */
  padding: 0;                 /* впритык к баннеру */
}

.nav-panel ul {
  display: flex;
  text-align: center;
  height: 100%;

  align-items: stretch;           /* все li растягиваются по высоте максимальной плитки */
  flex-wrap: nowrap;          /* все в одну строку */
  gap: 2px;                   /* расстояние (белые просветы) между блоками */
  list-style: none;
  margin: 0;
}

.nav-panel ul li{
  letter-spacing: 0.05em;
  display: flex;
  justify-content: center;
  height: 100%;

  align-items: stretch;
  flex: 1 1 0;                    /* равная ширина плиток (если не задано) */
  padding: 0;
  
  background: var(--clr-brand);
  overflow: hidden;

  border-radius: 0;
}

.nav-panel ul li:last-child{

}

.nav-panel ul li:first-child{

}

.nav-panel li a{
  text-transform: uppercase;
  white-space: normal;         /* перенос разрешён */
  word-break: keep-all;        /* не делить слова */
  overflow-wrap: normal;       /* переносить только по пробелам */
  hyphens: none;               /* без дефисов */
  font-size: 15px;

  line-height: 1;
  
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  
  height: 40px;
  padding: 0 12px;
  color: #fff;
}

.nav-panel-mobile {
  position: absolute;
  top: 100px;
  justify-content: center;
  align-items: center;
  align-content: center;
  color: #fff;
  font-size: var(--fs-400);
  text-align: center;

  background-image: url("../img/navpanel-bg.jpg");
  background-size: 100% 100%;
  background-position: center;
  
  transition: all 300ms ease-in;
}

.nav-panel-mobile ul {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  height: 100%;
}

.nav-panel-mobile ul li{
  font-weight: 400;
  margin: 5px 10px;
  letter-spacing: 0.05em;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.nav-panel-mobile li a{
  display: block;
}

.active {
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  user-select: none;
  pointer-events: none;
  cursor: default;
}


@media (max-width: 1240px) {
  .nav-panel{
    font-size: 18px;
  }
}

@media (max-width: 1065px) {
  .header {
    padding-bottom: 10px;
    height: 100%;
    position: sticky;
  }  
  
  .header__container {
    margin: 0;
  }
  
  .info_panel{
    display: none;
  }

  .promo-banner-section{
    display: none;
  }

  .header__menu{
    display: inherit;
  }
}

@media (max-width: 820px) {
  .order .cards-wrapper {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (max-width: 740px) {

  .nav-panel-mobile ul li {
    width: 200px;
    text-align: left;
  }
}

@media (max-width: 680px) {
  
  .nav-panel-mobile ul li{
    text-align: start;
    justify-content: start;
  }
}

@media (prefers-reduced-motion: reduce){
  .burger::before, .burger::after, .nav-panel-mobile { transition: none; }
}

.promo-banner-container{
  width: 100%;
}

.promo-banner-section{
  padding: 2px 0 0 0;
}

.promo-banner-container > img{
  display: block;        /* убираем нижний зазор */
  width: 100%;           /* растягиваем по ширине родителя */
  height: auto;
  -webkit-user-drag: none;
  user-select: none;
}

/*.promo-banner-left{*/
/*  background-image: url("../img/promo-left-bg.png");*/
/*  background-size: cover;*/
/*  background-position: center;*/
/*  height: 100%;*/
/*  width: 100%;*/
/*}*/

/*.promo-banner-right{*/
/*}*/

/*.promo-banner-left-content{*/
/*  display:grid;*/
/*  grid-template-columns: 20% 80%;*/
/*  margin: 0 100px 0 80px;*/
/*  height:100%;*/
/*}*/

/*.promo-banner-left-content-img{*/
/*  align-content: center;  */
/*}*/

/*.promo-banner-left-content-text{*/
/*  */
/*}*/




