/* mobile first */
@font-face {
    font-family: 'MyFont';
        src: url('../fonts/AbrilFatface-Regular.woff') format('woff');
        src: url('../fonts/AbrilFatface-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'MyFont2';
        src: url('../fonts/HelveticaNeueCyr-Roman.woff') format('woff');
        src: url('../fonts/HelveticaNeueCyr-Roman.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

:root{
    --titles: #B94141;
    --subtitles: #2F2F2F;
    --texts: #2F2F2F;
    --inputs: #787878;
    --links: #DBDFE2;
    --grey: #EEEEEE;
}

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

html, body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overscroll-behavior: none;
    touch-action: manipulation;
}

html {
    scroll-behavior: smooth;
    font-size: clamp(12px, 100vw / 24.375, 16px);
}

body {
    font-family: 'MyFont', 'MyFont2', sans-serif;
    background-color: #FFFFFF;
    font-size: 1rem;
}

body.no-scroll {
  overflow: hidden;
  touch-action: none;
}

main {
    overflow-x: hidden;
}

.container {
    max-width: 480px;
    margin: auto;
    padding: 0 1rem;
}

button, input, textarea {
  -webkit-appearance: none;
  appearance: none;
}

ul {
    list-style: none;
}

button, a {
    cursor: pointer;
}

a {
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: inherit;
    line-height: inherit;
}

.header {
    padding: 1.25rem 1rem 1.5rem 1rem;
}

.header__links {
    display: flex;
    flex-direction: column;
    gap: 8px;

}

.header__link {
    display: flex;
    gap: 0.625rem;
    align-items: center;
    border-radius: 40px;
    background: var(--links);
    color: var(--subtitles);
    padding: 0.5rem 1.25rem 0.5rem 0.5rem;
    letter-spacing: 0.04em;
}

.header__links li{
    opacity: 0;
}

.header__links li:nth-child(1) {
    transition: all 1s;
}

.header__links li:nth-child(2) {
    transition: all 1.5s;
}

.header__links li:nth-child(3) {
    transition: all 2s;
}

.header__links li:nth-child(4) {
    transition: all 2.5s;
}

.header__links li.active{
    opacity: 1;
}

.header__link img:nth-last-child(1) {
    margin-left: auto;
}

/* sec1 */

h1 {
    font-size: 6.25rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: var(--titles);
    margin: 2.25rem 0 1.5rem 0;
}

.sec1:first-child {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sec1__img-background {
    padding: 24px 0 43px 0;
    border-radius: 20px;
    width: 100%;
    background: url('../images/sec1/sec1-backround.jpg') no-repeat center / cover;
}

.sec1__img-animate {
  width: 100%;
  opacity: 0;
  transform: scale(0.3);
  transition: 
    transform 1.5s cubic-bezier(0.4,0,0.2,1),
    opacity 2s;
}

.sec1__img-animate.active {
  width: 100%;
  opacity: 1;
  transform: scale(1);
}

.sec1__list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}

.sec1__list li {
    background: url('../images/sec1/sec1-textures.jpg') no-repeat center / cover;
    padding: 1.25rem;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.875rem;
}

.sec1__list li img{
    width: 52px;
}

/* sec2 */

.sec2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.section2__title {
    width: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    padding: 3rem 0 1.5rem 0;
}

.section2__title .line {
    flex: 1;
    height: 1px;
    background-color: var(--titles);
}

.section2__title h2 {
    font-size: 2.75rem;
    color: var(--titles);
}

.gallery {
    position: relative;
    height: 425px;
    width: 390px;
}

.photo {
    position: absolute;
    cursor: pointer;
}

.photo.left {
    top: 0;
    left: -4.25rem;
    z-index: 1;
    overflow: hidden;
}

.photo.right {
    top: 0;
    right: -4.25rem;
    z-index: 1;
    overflow: hidden;
}

.photo.center {
    top: 147px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
}

.gallery__button {
    width:  100%;
    padding: 1rem 1.25rem;
    background-color: var(--texts);
    color: #FFFFFF;
    border: none;
    border-radius: 16px;
    font-family:  'MyFont2', sans-serif;
    font-size: 1rem;
    position: relative;
}

.gallery__button span {
    text-align: center;
    line-height: 1.375rem;
    letter-spacing: 0.04em;
}

.gallery__button img {
    position: absolute;
    top: 16px;
    right: 19px;
}

/* sec3 */

.description {
    font-family: 'MyFont2', sans-serif;
    text-align: center;
    line-height: 1.625rem;
    letter-spacing: 0.04em;
}

.video__card {
    position: relative;
}

.video-thumb {
    margin-top: 1.5rem;
    width: 100%;
    display: block;
}

.play__button {
    font-family: 'MyFont2', sans-serif;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #5D8FBB;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 32px;
    padding: 1rem 1.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
}

.play__button span {
    display: block;
    letter-spacing: 0.04em;
    color: white;
    line-height: 24px;
}

/* sec4 */

.sec4 {
    display: none;
}

.community {
    margin: 2rem 0 1.5rem 0;
}

.community__block {
    width: 100%;
    display: flex;
    gap: 0.25rem;
}

.community__small {
    width: 33%;
}

.community__big {
    width: 67%;
}

.community__small img {
    width: 100%;
    height: calc(50% - 6px);
}

.community__big img {
    width: 100%;
}

.community__button {
    width: 100%;
    padding: 1rem 1.75rem;
    /* padding: 16px 19px; */
    background-color: #FFFFFF;
    color: var(--texts);
    border: 1px solid var(--texts);
    border-radius: 1rem;
    font-family: 'MyFont2', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;;
    font-size: 1rem;
}

/* sec5 */

.sec5 {
    margin: 2rem 0 1.5rem 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sec5 .description {
    text-align: center;
    line-height: 1.375rem;
    letter-spacing: 0.04em;
}

.sec5 img {
    width: 151%;
}

/* sec6 */

.tasting__title {
    margin-top: 24px !important;
}

.sec6__card div {
    font-size: 1.25rem;
    color: var(--subtitles);
    text-align: center;
}

.sec6__cards {
    margin-top: 1.25rem;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.sec6__card {
    flex: 1 1 calc(50% - 0.125rem);
    border-radius: 20px;
    background: url('../images/sec1/sec1-textures.jpg') no-repeat center / cover;
    padding: 1.5rem 1.75rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.625rem;
}

.sec6__card img {
    width: 100%;
}

.sec6__card:last-child {
    padding: 0 1.25rem 0 1.5rem;
    flex-direction: row;
    align-items: center;
}

.sec6__card:last-child img {
    width: 55%;
}

/* sec7-sec8 */

.sec7, .sec8 {
    margin-bottom: 1.25rem;
}

.sec7__content, .sec8__content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.sec7__block, .sec8__block {
    position: relative;
    background: url('../images/sec1/sec1-textures.jpg') no-repeat center / cover;
    padding: 0 1.25rem;
    display: flex;
    border-radius: 20px;
    /* max-width: 358px; */
    height: 114px;
}

.sec7__block.one {
    background: url('../images/sec7/sec7-img1.jpg') no-repeat center/cover;
}

.sec7__block.two {
    background: url('../images/sec7/sec7-img2.jpg') no-repeat center / cover;
}

.sec7__block.three {
    background: url('../images/sec7/sec7-img3.jpg') no-repeat center / cover;
}

.sec7__block.four {
    background: url('../images/sec7/sec7-img4.jpg') no-repeat center / cover;
}

.sec7__block-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.5rem;
    width: 65%;
    position: relative;
    z-index: 1;
}

.sec7__block-left p{
    font-family: 'MyFont2', sans-serif;
    letter-spacing: 0.04em;
    line-height: 1.375rem;
}

.sec7__block-left span {
    font-size: 1.125rem;
    letter-spacing: 0.04em;
}


.sec7__block img {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    border-radius: 0 20px 20px 0;
    opacity: 0.5;
}

/* sec8 */

.sec8__block {
    height: 108px;
    padding: 1.25rem 1rem;
    display: flex;
    gap: 1rem;
}

.sec8__block-right {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 1rem;
}

.sec8__block-right span {
    font-size: 1.125rem;
    letter-spacing: 0.04em;
}

.sec8__block-right p{
    font-family: 'MyFont2', sans-serif;
    line-height: 1.375rem;
    letter-spacing: 0.04em;
}

.sec8__block img{
    align-self: flex-start;
}

/* sec9 */

.sec9 {
    margin-bottom: 1.5rem;
}

form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.input__block {
    width: 100%;
    position: relative;
}

.input__block img {
    position: absolute;
    right: 20px;
    top: 17px;
}

.sec9 input, textarea, .sec9 button {
    width: 100%;
    padding: 1.1rem 1.25rem 1rem 1.25rem;
    border-radius: 16px;
    border: none;
    background-color: var(--grey);
    color: #000;
    font-family: 'MyFont2', sans-serif;
    font-size: 1.125rem;
    line-height: 1.375rem;
}

.sec9 input {
    padding-right: 50px;
}

.sec9 textarea {
    resize: none;
    height: 110px;
}

.sec9 input::placeholder,
.sec9 textarea::placeholder {
    color: var(--inputs);
}

.sec9 button {
    margin-bottom: 2rem;
    background-color: var(--texts);
    color: #FFFFFF;
    letter-spacing: 0.04em;
    font-family: 'MyFont2', sans-serif;
    font-size: 1rem;
}

.sec9 button:disabled {
    background-color: #8E8E8E;
    cursor: not-allowed;
}

/* Modal */

.modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    flex-direction: column;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
}

.modal__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  width: 100%;
  height: 100vh;
  max-width: 100%;
}

.modal__header {
    color: var(--texts);
    height: 88px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #FFFFFF;
    width: 100%;
    max-width: 480px;
    padding: 0 16px;
}

.modal__footer p {
    font-size: 1.25rem;
}

.modal__header h3 {
    font-size: 1.5rem;
}

.modal__close {
    background: none;
    border: none;
    color: var(--texts);
    cursor: pointer;
}

.modal__footer {
    height: 108px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--texts);
    background-color: #FFFFFF;
}

.modal__header, .modal__footer {
    overscroll-behavior: contain;
    pointer-events: auto;
    touch-action: none;
}

.modal__swipe-hint {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.5s;
}

.modal__swipe-hint-bg {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(4px); 
}

.modal__swipe-hint-text {
    position: relative;
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    z-index: 1;
    letter-spacing: 0.04em;
    user-select: none;
    font-family: 'MyFont2', sans-serif;
    animation: swipe-bounce 1s infinite;
}

@keyframes swipe-bounce {
    0%   { transform: translateY(0); }
    20%  { transform: translateY(10px); }
    40%  { transform: translateY(-8px); }
    60%  { transform: translateY(8px); }
    80%  { transform: translateY(-4px); }
    100% { transform: translateY(0); }
}

.modal__swipe-hint.hide {
    opacity: 0;
    transition: opacity 0.5s;
    pointer-events: none;
}

/* Swiper slider */
.modal__slider {
    flex: 1;
}

.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

.swiper-slide img {
    max-height: 100%;
    max-width: 480px;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.error-border {
    border: 1px solid red !important;
}

.error-message {
    font-family: 'Poppins', sans-serif;
    color: red;
    font-size: 0.9rem;
    margin-top: 2px;
}

.captcha-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.captcha-error {
    color: red;
    font-size: 0.875rem;
    margin-top: 0.5rem;
    text-align: center;
    font-family: 'MyFont2', sans-serif;
}

@media (max-width: 600px) {
    .captcha-wrapper {
        transform: scale(0.9);
        transform-origin: center;
    }
}

.photo-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.photo-item img {
    max-width: 300px;
}

.community__block img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

.community__big {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.community__small {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.success-message {
    text-align: center;
    color: green;
    font-weight: bold;
    margin-top: 20px;
    font-family: 'MyFont2', sans-serif;
}

.swiper {
    -webkit-overflow-scrolling: touch;
    width: 100%;
    max-width: 480px;
}

@media (min-width: 481px){
    .modal__header {
        padding: 0;
    }
}
