:root{
    --ac:#403D3C;
    --bc: #F2F2F2;
    --light-main: #595655;
    --light-bc: #BFB8B4;
    --dark: #0D0703;
}
body{
    background-color: var(--bc);
    overflow-x:hidden;
    touch-action: pan-y;
    margin: 0;

}
h2{
    font-size: 32px;
    color: var(--ac);
    margin-bottom: 14px;
}
p{
    font-size: 22px;
    margin-top: 0;
    color: var(--ac);
}
h1,h2,h3{
    font-family: "Raleway", sans-serif;
}

p,a,li,span, textarea, input, button, label{
    font-family: "Open Sans", sans-serif;
}



/*Admin panel link*/
.admin_panel{
    display: flex;
    flex-direction: row;
    position: fixed;
    align-items: center;
    bottom: 5px;
    left: -220px;
    text-decoration: none;
    padding: 8px;
    gap: 8px;
    border-radius: 0 12px 12px 0;
    transition: left 0.3s ease;
    background-color: var(--ac);
}
.admin_panel:hover{
    left: 0px;
    transition: left 0.3s ease;
}
.admin_panel:active{
    left: -220px;
}
.admin_panel span{
    font-size: 18px;
    color: white;
    font-weight: 400;
}
.admin_panel .material-symbols-outlined{
    font-size: 24px;
}
/* Messages */
.messages{
    position: fixed;
    top:195px;
    right: 0px;
    width: 300px;
    display: flex;
    z-index: 1000;
    flex-direction: column;
    gap: 12px;
   
}
.messages .message{
    background-color: var(--bc);
    box-shadow: 0 0 2px 0 var(--light-main);
    animation: slide-in 0.5s forwards, slide-out 0.5s forwards 4.5s;

}
.messages .message .message-header{
    display: flex;
    flex-direction: row;
    padding: 4px 8px;
    gap: 12px;
    background-color: var(--ac);
    color: var(--bc);
    align-items: center;
}
.messages .message .message-header span{
    text-align: center;
}
.messages .message .message-body{
    padding: 8px;
}

@keyframes slide-in {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slide-out {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

/* BUTTONS */
.default_button{
    display: inline-block;
    padding: 12px 32px;
    background-color: var(--ac);
    color: var(--bc);
    border-radius: 12px;
    text-decoration: none;
    font-size: 20px;
    cursor: pointer;
}
.default_button:hover{

    box-shadow: 0 2px 2px 0 gray;
}
.default_button:active{
    background-color: var(--dark);
}

.secondary_button{
    display: inline-block;
    text-decoration: none;
    cursor: pointer;
    color: var(--ac);
    font-size: 20px;
    padding: 12px 32px;
    background-color: none;
    border: 1px solid var(--ac);
    border-radius: 12px;
}
.secondary_button:hover{
    box-shadow: 0 0 2px 0 gray;
    
}
.secondary_button:active{
    background-color: var(--dark);
    color: var(--bc);
}
.white_button{
    background-color: var(--bc);
    color: var(--dark);
    padding: 12px 32px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    border-radius: 12px;
}
.white_button:hover{
    background-color: var(--light-bc);
    transition: background-color 0.3s ease;
}
.white_button:active{
    background-color: var(--light-main);
    color: var(--bc);
}


/*HEADER DESKTOP*/
.banner {
    width: 100%;
    background-color: var(--light-main);
    color: var(--bc);
    font-size: 16px;
    font-family: "Open Sans", sans-serif;
    padding: 5px 0;
    text-align: center;
    position: fixed;
    top: -5px;
    left: 0;
    z-index: 1000;
    transition: top 0.1s;
}
.hidden-banner{
    top:-40px;
    transition: top 0.4s;
}
header{
    width: 100%;
    padding: 2px;
    position: fixed;
    top: 25px; /* Высота баннера */
    left: 0;
    z-index: 999;
    align-items: center;
    transition: top 0.2s;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    background-color: var(--ac);
}
/* Mobile Header*/
.mobile-header{
    width: 100%;
    padding: 12px 0;
    position: fixed;
    top: 28px; /* Высота баннера */
    left: 0;
    z-index: 999;
    display: none;
    align-items: center;
    transition: top 0.2s;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    background-color: var(--ac);
}
.mobile-header .cart-counter{
    right: 1px;
}
.mobile-header .header-item {
    flex: 1; /* Равномерное распределение ширины */
    display: flex;
    justify-content: center;
    align-items: center;
}
.mobile-header .header-item:first-child{
    justify-content: start;
}
.mobile-header .header-item:last-child{
    justify-content: end;
}
.mobile-header img{
    height: 70px;
}
.mobile-header #menu-button{
    margin-left: 40px;
    font-size: 35px;
    padding: 5px;
    color: var(--bc);
}
.mobile-header #menu-button:hover{
    background-color: #595655;
    border-radius: 100%;
    
}
.mobile-header .shopping-cart{
    margin-right: 40px;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--bc);
    cursor: pointer;
    transition: color .3s ease;
    position: relative;
    padding: 5px;
}
.mobile-header .shopping-cart .material-symbols-outlined{
    font-size: 30px;
}
header .header-logo{
    width: 200px;
    margin-left: 40px;
}
header .nav{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    list-style: none;
    gap: 24px;
}
header .nav .nav-link{
    text-decoration: none;
    color: var(--bc);
    position: relative;
    display: inline-block;

}

header .nav .nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    display: block;
    background: var(--bc);
    transition: width 0.3s;
    bottom: -3px;
    left: 0;
}

header .nav .nav-link:hover::after {
    width: 100%;
}
header .nav .nav-link{
    color: var(--bc);
    text-decoration: none;

}
header .right_menu{
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex-wrap: nowrap;
    margin-right: 40px;
}
header .right_menu .shopping-cart, header .right_menu .account{
    display: flex;
    text-decoration: none;
    flex-direction: column;
    align-items: center;
    color: var(--bc);
    cursor: pointer;
    transition: color .3s ease;
    position: relative;
}
header .right_menu .shopping-cart:hover, header .right_menu .account:hover{
    color: var(--light-bc);
    transition: color .3s ease;
}
/* Shopping cart counter*/
.cart-counter {
    background-color: #950505;
    color: white;
    border-radius: 50%;
    padding: 2px 6px;
    position: absolute;
    top: 0;
    right: 10px;
    transform: translate(50%, -50%);
    font-size: 12px;
}
/* Прикрепленный хедер */
.fixed-header {
    top: 0 !important;
}
.fixed-mobile-header{
    top: 0;
}
.container{
    min-height: 50vh;
}

/*FOOTER*/
footer{
    background-color: var(--ac);
    margin-top:24px;
    display: flex;
    flex-direction: column;

}
footer .footer-top{
    border-bottom: 1px solid var(--bc);
    margin: 0 30px;
    padding: 15px 0 ;
    display: flex;
    flex-direction: row;
    gap:24px;
    justify-content: space-between;
    align-items: center;
}
footer .footer-top img{
    width: 200px;
}
footer .footer-top .holidays{
    color: white;
    font-size: 16px;
    text-align: center;
    width: 60%;
    
}
footer .footer-bottom{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 15px 30px;
    align-items: center;
}
footer .footer-bottom .footer-links{
    display: flex;
    flex-direction: column;
    gap:8px
}
footer .footer-bottom .footer-links a{
    text-decoration: none;
    color: var(--bc);
}
footer .footer-bottom .footer-sm{
    display: flex;
    flex-direction: row;
    gap: 12px;
}
footer .footer-bottom .footer-sm img{
    width: 32px;
}
footer .footer-bottom .footer-info{
    display: flex;
    flex-direction: column;
    gap:8px;
}
footer .footer-bottom .footer-contact p{
    padding: 0;
    margin: 0;
    color: var(--bc);
    font-size: 18px;
    text-align: end;
}
/*Burger*/
.burger-menu{
    width: 400px;
    z-index: 1001;
    position: fixed;
    background-color: var(--bc);
    height: 100vh;
    top: 0;
    left: -400px;
    transition: left 0.3s ease;
}
.no-scroll {
    overflow: hidden;
}
.burger-menu .burger-header .material-symbols-outlined{
    color: var(--bc);
}
.burger-menu .burger-header{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background-color: var(--ac);
    padding-left: 12px;
    padding-right: 12px;
}
.burger-menu .burger-header img{
    width: 200px;
}
.burger-menu .burger-body{
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-inline-start: unset;
}

.burger-menu .burger-body li a{
    text-decoration: none;
    color: var(--ac);
    font-size: 20px;
    display: block;
    padding: 14px 18px;
    
}
.burger-menu .burger-body li {
    color: var(--bc);
}
.burger-menu .burger-body li a:active{
    color:  var(--bc);
    background-color: var(--ac);

}
.burger-menu.active{
    left:0 !important;
    transition: left 0.3s ease;

}

@media screen and (max-width: 1130px) {
    .mobile-header{
        display: flex;
    }
    .banner{
        font-size: 18px;
    }
    header{
        display: none;
    }
    
}
@media screen and (max-width: 768px) {
    .footer-bottom{
        flex-direction: column !important;
        gap: 18px;
    }
    
    .footer-bottom .footer-links{
        text-align: center;
        font-size: 20px;
    }
    footer .footer-bottom .footer-sm img{
        width: 40px;
    }
    footer .footer-bottom .footer-contact p{
        font-size: 20px;
        text-align: center;
    }
}
@media screen and (max-width: 500px) {
   
    .burger-menu.active{
        width: 100%;
        
    }
    .mobile-header .shopping-cart{
        margin-right: 15px;
        font-size: 15px;
    }
    .mobile-header #menu-button{
        margin-left: 15px;
    }
    footer .footer-top{
        flex-direction: column;
        gap: 24px;
    }
    /*Buttons*/
    .white_button{
        font-size: 20px;
    }
    .default_button{
        font-size: 20px;
    }
    .messages{
        top:unset;
        bottom: 2px;
        right: unset;
        left: 50%;
        width: 90%;
        transform: translate(-50%,-50%);
        flex-direction: column;
        gap: 12px;       
    }
    .messages .message{
        background-color: var(--bc);
        box-shadow: 0 0 2px 0 var(--light-main);
        animation: slide-in 0.5s forwards, slide-out 0.5s forwards 4.5s;
        border-radius: 12px;
    }
    .messages .message .message-header{
        border-radius: 12px 12px 0 0;
        padding: 20px;
    }
    .messages .message .message-body{
        padding: 20px;
    }
    .messages .message span{
        font-size: 20px;
    }
}

