@import url(/css/fonts/ALSSchlangesans/stylesheet.css);

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,body {
    min-height: 100vh;
    overflow-x: clip;
}

:root {
    --orange: #FF9600;
    --black: #111;
}

html {
    font-size: min(3.472222vw, 50px);
    font-size: min(round(down, 3.472222vw, 1px), 50px);
    font-weight: 400;
    font-family: ALS Schlange sans, sans-serif;
    line-height: 1;
    color: #fff;
    background: var(--black);
    background-image: url(../img/bg-43006f81e06bf33de4d7f351d34fd6a508b88ccf.jpg);
    background-size: contain;
}

body {
    --body-padding: 2.48rem;
    max-width: 1440px;
    padding: 0 var(--body-padding);
    margin: 0 auto;
}

a {
    position: relative;
    color: inherit;
    text-decoration: none;
    transition: opacity .2s linear;
}
/* a::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: block;
    border-bottom: 1px solid;
} */
a:hover {
    opacity: .5;
}

nav > ul {
    list-style-type: none;
}

.logo-m,
.logo-w {
    display: block;
    margin: auto;
}
.logo-m {
    aspect-ratio: 265 / 75;
    background: url(../img/logo-m-w.svg);
    background-size: cover;
    background-repeat: no-repeat;
}
.logo-w {
    aspect-ratio: 90 / 75;
    background: url(../img/logo-w-w.svg);
    background-size: cover;
    background-repeat: no-repeat;
}

.waves {
    margin: 0 calc(var(--body-padding) * -1);
}
.wave {
    height: 0.28rem;
    height: round(down, 0.28rem, 1px);
    width: 100%;
    background: url(../img/waves.svg);
    /* background-size: contain; */
    background-size: auto 100%;
    background-repeat: repeat-x;
    aspect-ratio: 360 / 14;
}
.wave + .wave {
    margin-top: 0.28rem;
}

.orange-box {
    padding: 1.6rem;
    margin: 0 -1.6rem;
    background: var(--orange);
    border-radius: 0.6rem;
}

.nowrap {
    white-space: nowrap;
}

header {
    /* position: sticky;
    top: 0; */
    display: flex;
    justify-content: space-between;
    padding: 0.66rem var(--body-padding);
    margin: 0 calc(var(--body-padding) * -1);
    background: inherit;
    z-index: 1000;
}
/* header.--scrolled {
    backdrop-filter: blur(5px);
    background: rgba(0, 0, 0, 0.7);
} */
header .logo {
    --logo-gap: 1.2rem;
    position: relative;
    display: flex;
    overflow: hidden;
    gap: calc(1.2rem + 1px);
}
header .logo > * {
    position: relative;
    height: 1.5rem;
}
header .logo > *::before {
    content: '';
    display: block;
    position: absolute;
    left: -0.6rem;
    bottom: 0;
    width: 1.5px;
    height: 84%;
    background: #fff;
}
header nav {
    display: flex;
    align-items: center;
    font-size: 0.5rem;
}
header nav > ul {
    display: flex;
    gap: 0.7rem;
}

.s-plate {
    display: flex;
    padding: 1rem 0;
}
.s-plate .text {
    display: flex;
    flex-direction: column;
}
.s-plate .title {
    margin: auto 0;
}
.s-plate h1 {
    font-size: 1.28rem;
    font-weight: 900;
    color: var(--orange);
    text-transform: uppercase;
}
.s-plate h1 + .sub {
    margin-top: 0.48rem;
    font-size: 0.84rem;
    line-height: 0.9;
}
.s-plate .hint {
    margin-top: 10px;
    font-size: 0.32rem;
}
.s-plate .image {
    background: url(../img/plate-2131330931.png);
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 660 / 580;
    height: 11.6rem;
    margin: -1rem -2rem;
}

.s-promo {
    padding: 1.8rem 0;
    font-size: 0.72rem;
    line-height: 1.1;
}
.s-promo .hint {
    margin-top: 0.4rem;
    font-size: 0.92rem;
    font-weight: 900;
}

.s-products .header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.6rem;
}
.s-products .header .title {
    font-size: 1.12rem;
    font-weight: 900;
}
.s-products nav > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.36rem;
}
.s-products nav > ul > li {
    padding: 0.29rem 0.58rem;
    border-radius: 1.76rem;
    background: #00000040;
    color: #fff;
    font-size: 0.5rem;
    text-align: center;
    cursor: pointer;
    transition: background .2s linear;
}
.s-products nav > ul > li::before {
    content: attr(data-type);
    display: block;
    font-weight: 900;
    overflow: hidden;
    height: 0;
}
.s-products nav > ul > li:hover {
    background: var(--black);
}
.s-products nav > ul > li.--active {
    background: var(--black);
    font-weight: 900;
    pointer-events: none;
}
.s-products .list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 0.96rem;
    gap: 0.4rem;
}
.s-products .list:not(.--active) {
    display: none;
}
.s-products .list .item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 0.48rem;
    padding-bottom: 0.8rem;
    gap: 0.48rem;
    background: #fff;
    color: var(--black);
    border-radius: 0.24rem;
}
.s-products .list .item .image {
    background-color: #eee;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: 0.2rem;
    width: 100%;
    aspect-ratio: 1/1;
}
.s-products .list .item .title {
    min-height: 1.28rem;
    width: 100%;
    font-size: 0.4rem;
}
.s-products .list .item .price {
    font-size: 0.64rem;
    font-weight: 900;
}
.s-products .list .item .price .ruble {
    position: relative;
    color: transparent;
}
.s-products .list .item .price .ruble::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    display: block;
    margin: auto;
    height: 65%;
    max-height: 100%;
    max-width: 100%;
    aspect-ratio: 18 / 23;
    background: url(../img/ruble.svg);
    background-repeat: no-repeat;
    background-position: center left;
    background-size: contain;
}
.s-products .list .item .weight {
    font-size: 0.48rem;
}

.s-combo {
    padding: 3.46rem 0;
}
.s-combo .image {
    position: relative;
    width: 19.8rem;
    margin: auto;
    background: url(../img/combo.svg);
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 990 / 501;
}
.s-combo .image::before {
    content: '';
    position: absolute;
    height: 7.68rem;
    left: 2rem;
    top: -1.8rem;
    background: url(../img/plate-810009556.png);
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 380 / 384;
}
.s-combo .image::after { 
    content: '';
    position: absolute;
    height: 7.98rem;
    right: 1.2em;
    bottom: -1.5rem;
    background: url(../img/plate-810009642.png);
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 395 / 399;
}
.s-combo .sub {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.68rem;
    gap: 0.48rem;
}
.s-combo .sub .discount {
    font-size: 1.6rem;
    font-weight: 900;
}
.s-combo .sub .expr {
    display: flex;
    align-items: center;
    gap: 0.2rem;
}
.s-combo .sub .expr .var {
    padding: 0.38rem 0.64rem;
    border-radius: 2.4rem;
    font-size: 0.68rem;
    background: #fff;
    color: var(--black);
}
.s-combo .sub .expr .op {
    font-size: 1.4rem;
    font-weight: 700;
}

.s-addresses .title {
    font-size: 1.56rem;
    font-weight: 900;
    text-align: center;
}
.s-addresses .map {
    margin-top: 0.56rem;
    height: 8.8rem; /* 440px */
    border-radius: 0.64rem;
    background: #ccc;
    overflow: clip;
}

footer {
    padding: 1.22rem 0;
    text-align: center;
}

footer .logo-m {
    height: 2.16rem;
}
footer .mapp {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 1.2rem;
    gap: 0.6rem;
}
footer .mapp .qr {
    padding: 0.4rem;
    border-radius: 0.32rem;
    background: #fff;
}
footer .mapp .qr::before {
    content: '';
    display: block;
    height: 4.76rem;
    aspect-ratio: 1 / 1;
    background: url(../img/mapp-qr.svg);
    background-size: cover;
}
footer .mapp .title {
    font-size: 0.96rem;
    font-weight: 900;
    text-transform: uppercase;
}
footer .mapp .sub {
    font-size: 0.64rem;
}
footer a {
    text-decoration: underline;
}
footer .copyright {
    margin-top: 1.2rem;
    font-size: 0.36rem;
    opacity: 0.5;
}