
@font-face {
  font-family: 'montserrat-medium';
  src: url('../fonts/Montserrat-Medium.ttf');
}

@font-face {
  font-family: 'montserrat-semibold';
  src: url('../fonts/Montserrat-SemiBold.ttf');
}

@font-face {
  font-family: 'montserrat-extrabold';
  src: url('../fonts/Montserrat-ExtraBold.ttf');
}

@font-face {
  font-family: 'montserrat-regular';
  src: url('../fonts/Montserrat-Regular.ttf');
}

@font-face {
  font-family: 'montserrat-light';
  src: url('../fonts/Montserrat-Light.ttf');
}

@font-face {
    font-family: 'montserrat-bold';
    src: url('../fonts/Montserrat-Bold.ttf');
}

:root{
    --color-primary: #DAD8E2;
    --color-secondary: #A9A7C9;
    --color-text: #0C0B0B;
    --color-accent1: #D51C1C;
    --color-accent2: #373286;
    --shadow: 0px 4px 20px rgb(0 0 0 / 25%);
    --border-radius: 20px;
    --border-radius-smaller: 10px;
    --container-padding: clamp(20px, 5vw, 150px);
}


*{
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'montserrat-regular', sans-serif;
    line-height: 1.6;
    color: var(--color-text);
    overflow-x: hidden;
    overflow-y: scroll;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}

.burger-menu{
    display: none;
}

.container {
    height: 100vh;
    /*overflow-y: scroll;*/
    width: min(100% - var(--container-padding) * 2, 1400px);
    margin-inline: auto;
    padding-inline: var(--container-padding);
}

.military_inner{
    height: 80vh;
}

.military_free-consult{
    height: 20vh;
}

.contacts_inner{
    height: 80vh;
}


.highlight{
    color: var(--color-accent1) !important;
}

/*.highlight2{*/
/*    color: var(--color-accent2) !important;*/
/*}*/

.button{
    display: flex;
    flex-direction: row;
    align-items: center;
    width: fit-content;
    background-color: var(--color-accent1);
    box-shadow: var(--shadow);
    color: var(--color-primary);
    border-radius: var(--border-radius-smaller);
    padding: clamp(0.8rem, 1.2vw, 1.5rem) clamp(0.8rem, 1.5vw, 2rem);
    font-size: clamp(0.6rem, 1vw, 1rem);
    font-family: montserrat-semibold;


    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    transform: translateZ(0);
    z-index: 1; /* Убедимся, что кнопка выше псевдоэлемента */
}

.button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-accent1);
    z-index: -1; /* Псевдоэлемент позади содержимого */
    transition: transform 0.3s ease;
    transform: scaleX(0);
    transform-origin: right;
}

.button:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.button:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0px 6px 30px rgba(213, 28, 28, 0.6);
}

.button:active {
    transform: translateY(1px) scale(0.98);
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.25);
}

.button p {
    transition: color 0.3s ease;
}

.button:hover p {
    color: var(--color-primary);
}

.button img {
    width: clamp(12px, 1.5vw, 24px);
    margin-left: 20px;
    transition: transform 0.3s ease;
}

.button:hover img {
    transform: translateX(5px);
}

/*.button img{*/
/*    width: clamp(12px, 1.5vw, 24px);*/
/*    margin-left: 20px;*/
/*}*/


header{
    padding-left: 150px;
    padding-right: 150px;
    font-family: montserrat-semibold;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 10vh;
    background-color: var(--color-accent2);
    color: var(--color-primary);
    font-size: clamp(0.8rem, 0.5vw, 1rem);

}

header ul{
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    padding-left: 10px;
    padding-right: 10px;
}

.header_nav{
    font-family: montserrat-regular;
    overflow-x: hidden;
}

.header_logo-phone{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
}

.header_logo-phone img{
    width: clamp(4rem, 3vw, 5rem);
}


.header_logo-phone img{
    width: clamp(3rem, 3.2vw, 4rem);
}


footer{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background-color: var(--color-accent2);
    align-self: end;
    padding: 2em 10em;
    height: 30%;
}

footer h1{
    font-family: montserrat-extrabold;
    font-size: clamp(1rem, 1vw, 1.2rem);
    color: var(--color-primary);
}

footer a{
    color: var(--color-accent1);
}

footer img{
    width: 3em;
}

footer .qr{
    width: 4em;
}

.footer_logo-name{
    display: flex;
    flex-direction: row;
    align-items: center;
}

.footer_logo-name img{
    margin-right: 1em;
}

.footer_right-block{
    font-family: montserrat-bold;
    font-size: clamp(1rem, 1vw, 1.5rem);
    display: flex;
    flex-direction: column;
    gap: 1em;
}


.footer_social-media{
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
}

.footer_social-media img{
    margin-left: 1em;
}

.footer_quality-control{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2em;
}

.footer_quality-control>p{
    color: var(--color-primary);
    font-family: montserrat-semibold;
}

.footer_quality-control>p>span{
    font-family: montserrat-bold;
}

.footer_quality-control .important{
    text-align: right;
}

.footer_social-media .important{
    text-align: right;
    margin-right: 1rem;
}


/* Стили для бургер-меню и мобильного меню */
.burger-menu {
    display: none; /* Сначала скрыто на больших экранах */
    cursor: pointer;
    z-index: 1001; /* Выше других элементов */
}

.burger-menu img {
    width: 30px; /* Или какая подходит */
    height: auto;
}

.mobile-menu {
    position: fixed;
    top: 10vh; /* Ниже header */
    right: -100%; /* Скрыто за правым краем экрана */
    width: 70%; /* Ширина меню, можно настроить */
    max-width: 300px; /* Максимальная ширина */
    height: calc(90vh - 10vh); /* Занимает оставшуюся высоту */
    background-color: var(--color-accent2); /* Цвет фона как у header */
    color: var(--color-primary);
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.2); /* Тень слева */
    transition: right 0.3s ease; /* Плавный слайд */
    z-index: 1000; /* Ниже бургера, но выше остального */
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.mobile-menu ul {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1; /* Занимает доступное пространство */
}

.mobile-menu ul li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); /* Легкая линия между пунктами */
}

.mobile-menu ul li:last-child {
    border-bottom: none;
}

.mobile-menu ul li a {
    color: var(--color-primary);
    text-decoration: none;
    font-family: 'montserrat-semibold', sans-serif;
    font-size: 1.1em;
    display: block;
    padding: 5px 0;
    transition: color 0.2s ease;
}

.mobile-menu ul li a:hover {
    color: var(--color-accent1); /* Цвет при наведении */
}

/* Показать мобильное меню при активации */
.mobile-menu.active {
    right: 0;
}


/* Псевдокласс для body при открытом меню */
body.menu-open {
    overflow: hidden; /* Предотвращает прокрутку фона */
}
