body {
    font-family: 'Prata', sans-serif;
    color: #FFFF;
    background-color: #1A1613;
}

.container {
    max-width: 1280px;
    padding-right: 35px;
    padding-left: 35px;
    margin: 0 auto;
}

.inner-container {
    max-width: 1080px;
    margin: 0 auto;
}

.header {
    padding-top: 46px;
}

.header-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-logo {
    display: block;
}

.header-list {
    display: flex;
    align-items: center;
    gap: 72px;
    list-style: none;
}

.header-link {
    font-size: 20px;
    color: #FFFF;
    text-decoration: none;
}

.header-link.active {
    text-decoration: underline;
    text-underline-offset: 6px;
}

.header-search-btn {
    display: inline-block;
    background-color: inherit;
    background-repeat: no-repeat;
    border: none;
    cursor: pointer;
}

.hero {
    padding: 94px 0 44px;
}

.hero-block {
    position: relative;
    text-align: center;
}

.hero-title {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    font-size: 40px;
}

.about {
    padding: 100px 0 44px;
}

.about-title {
    font-size: 48px;
}

.about-wrapper {
    margin-top: 39px;
    display: flex;
    align-items: center;
    gap: 121px;
}

.about-text {
    font-size: 24px;
}

.about-block {
    position: relative;
    flex-shrink: 0;
    font-size: 18px;
}

.about-text-block {
    width: 100%;
    position: absolute;
    top: 20px;
    left: 9px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.about-entrance {
    position: absolute;
    bottom: 0;
    left: 9px;
}

.about-quiet {
    position: absolute;
    bottom: 0;
    right: 0;
}

.booking {
    padding: 22px 0 30px;
}

.booking-title {
    font-size: 48px;
}

.booking-title span {
    color: #F870A2;
}

.booking-text {
    font-size: 20px;
}

.booking-text span {
    padding: 0 23px;
    margin-left: 19px;
    font-size: 16px;
    color: #000000;
    background-color: #F870A2;
    border-radius: 6px;
}

.booking-block {
    margin: 18px auto 0;
    max-width: 797px;
}

.form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, 1fr);
    column-gap: 54px;
    row-gap: 24px;
}

.form-label {
    display: block;
    font-size: 15px;
}

.form-input,
.form-select {
    width: 100%;
    padding: 14px 16px;
    margin-top: 8px;
    color: #FFFFFF;
    font-size: 16px;
    background-color: inherit;
    border: 1px solid #FFFFFF;
    border-radius: 13px;
}

.form-field-services {
    grid-column: span 2 / span 2;
}

.form-input {
    position: relative;
}

.form-input::-webkit-calendar-picker-indicator {
    opacity: 0;
    position: absolute;
    display: block;
    width: 13px;
    height: 13px;
    right: 16px;
    cursor: pointer;
}

.form-input::before {
    content: url('../img/somnium-date.svg');
    position: absolute;
    right: 16px;
    pointer-events: none;
}

.form-services {
    margin-top: 3px;
    padding: 14px 36px;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    background-color: rgba(255, 255, 255, 20%);
    border: 1px solid #FFFFFF;
    border-radius: 13px;
}

.form-services-check {
    display: flex;
    align-items: center;
    gap: 5px;
}

.form-cost {
    display: flex;
    justify-content: right;
    grid-column: span 2;
    font-size: 20px;
}

.form-cost span {
    padding: 0 9px;
    margin-left: 13px;
    color: #000000;
    background-color: #F870A2;
    border-radius: 20px;
}

.form-btn {
    padding: 16px 27px;
    margin-top: 20px;
    margin-left: auto;
    grid-column: span 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-family: 'Prata', serif;
    font-size: 20px;
    background-color: #EEFE67;
    border: none;
    border-radius: 31px;
    cursor: pointer;
}

option {
    background-color: #000000;
}

.booking-back {
    z-index: 100;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    display: none;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 70%);
}

.booking-modal {
    z-index: 100;
    position: absolute;
    display: inline-block;
    padding: 160px 80px;
    text-align: center;
    background-color: rgba(255, 255, 255, 10%);
    border: 1px solid #FFFFFF;
    border-radius: 31px;
}

.booking-modal-text {
    display: inline-block;
    font-size: 40px;
}

.booking-icon {
    display: flex;
    margin-top: 45px;
    justify-content: center;
}

.booking-icon img {
    width: auto;
}

.shop {
    padding: 75px 0 98px;
}

.shop-top {
    display: flex;
    justify-content: space-between;
    align-items: end;
}

.shop-title {
    font-size: 48px;
}

.shop-title span {
    color: #EEFE67;
}

.shop-cart {
    padding: 11px 20px;
    display: flex;
    align-items: center;
    gap: 19px;
    background-color: #FFFFFF;
    border-radius: 23px;
}

.shop-cart span {
    padding: 3px 9px;
    font-size: 16px;
    color: #000000;
    background-color: #F870A2;
    border-radius: 50px;
}

.shop-text {
    margin-top: 7px;
    font-size: 24px;
    color: #EEFE67;
}

.shop-tabs {
    display: flex;
    margin-top: 40px;
    justify-content: center;
    gap: 26px;
    list-style: none;
}

.shop-tab {
    border: 1px solid #F9699E;
    border-radius: 20px;
}

.shop-tab-btn {
    display: block;
    padding: 8px 29px;
    font-family: 'Prata', serif;
    font-size: 18px;
    color: #FFFFFF;
    background-color: inherit;
    text-decoration: none;
    border: none;
    cursor: pointer;
}

.shop-cards {
    display: flex;
    margin-top: 40px;
    flex-wrap: wrap;
    column-gap: 75px;
    row-gap: 60px;
}

.card {
    display: block;
    position: relative;
    padding: 26px;
    flex-basis: calc(33.33% - 150px / 3);
    background-color: #201C19;
    border-radius: 39px;
}

.card.hidden {
    display: none;
}

.card:hover .card-img-hover {
    opacity: 1;
}

.card:hover .card-img {
    opacity: 0;
}

.card-visual {
    position: relative;
    height: 179px;
    display: flex;
    justify-content: center;
    background-color: #EBF3FF;
    border-radius: 32px;
    overflow: hidden;
}

.card-img {
    display: flex;
    justify-content: center;
    transition: all .2s ease;
}

.card-img-hover {
    opacity: 0;
    position: absolute;
    top: 0;
    scale: 1.3;
    transition: opacity .4s ease;
    pointer-events: none;
}

.card-img-hover.card-mask-hover {
    scale: 2;
}

.card-desc {
    margin-top: 9px;
}

.card-title {
    font-size: 24px;
}

.card-text {
    margin-top: 7px;
    font-size: 15px;
}

.card-cost {
    margin-top: 33px;
    font-size: 15px;
}

.card-btn {
    position: absolute;
    bottom: 26px;
    right: 26px;
    padding: 11px 17px;
    display: flex;
    gap: 10px;
    align-items: center;
    font-family: 'Prata', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #000000;
    background-color: #EEFE67;
    border: none;
    border-radius: 20px;
    cursor: pointer;
}

.increment-btn,
.decrement-btn {
    padding: 5px;
    font-family: 'Prata', serif;
    font-size: 15px;
    background-color: inherit;
    border: 0;
}

.events {
    padding: 88px 0 110px;
}

.events-title {
    font-size: 48px;
}

.events-wrapper {
    margin-top: 65px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 158px;
}

.events-item {
    text-align: center;
}

.events-back {
    padding: 36px 110px 44px 110px;
    display: flex;
    justify-content: center;
    background-color: rgba(255, 255, 255, 10%);
}

.events-visual {
    height: 317px;
    border-radius: 10px;
    overflow: hidden;
}

.events-btn {
    padding: 3px 35px;
    margin-top: 13px;
    font-family: 'Prata', serif;
    font-size: 24px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.events-modal-back {
    z-index: 100;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    display: none;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 70%);
}

.events-modal {
    width: 452px;
    z-index: 100;
    position: absolute;
    padding: 26px 39px 77px;
    background-color: #1C1A18;
    border-radius: 38px;
}

.events-modal-title {
    font-size: 24px;
    color: #7BC0FF;
}

.events-field {
    margin-top: 23px;
}

.events-ladel {
    font-size: 15px;
}

.events-input {
    width: 100%;
    display: block;
    padding: 14px;
    margin-top: 2px;
    font-family: 'Prata', serif;
    font-size: 15px;
    color: #FFFFFF;
    background-color: #262523;
    border: none;
    border-radius: 18px;
}

.events-form-btn {
    width: 100%;
    padding: 7px 77px;
    margin-top: 66px;
    font-family: 'Prata', serif;
    font-size: 24px;
    background-color: #7BC0FF;
    border: none;
    border-radius: 18px;
    cursor: pointer;
}

.relax {
    padding-bottom: 100px;
    text-align: center;
}

.relax-title {
    font-size: 32px;
    text-align: left;
}

.relax-wrapper {
    margin-top: 50px;
    display: flex;
    justify-content: center;
    gap: 88px;
}

.relax-item {
    position: relative;
}

.relax-link {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.relax-btn {
    display: inline-block;
    padding: 3px 17px;
    margin-top: 65px;
    color: #000000;
    text-decoration: none;
    font-size: 23px;
    background-color: #EEFE67;
    border-radius: 10px;
    cursor: pointer;
}

.support {
    padding: 109px 0 44px;
}

.support-wrapper {
    display: flex;
    justify-content: space-between;
}

.support-title {
    font-size: 24px;
}

.support-title-bottom {
    margin-top: 82px;
}

.support-list {
    margin-top: 30px;
    list-style: none;
}

.support-link {
    color: #FFFFFF;
    font-size: 28px;
    text-decoration: none;
}

.support-address {
    font-size: 28px;
}

.support-block-form {
    padding: 19px 39px 77px;
    background-color: #1C1A18;
    border-radius: 38px;
}

.support-form-title {
    font-size: 24px;
    color: #F9699E;
}

.support-form {
    margin-top: 16px;
}

.support-field {
    width: 100%;
    margin-top: 23px;
}

.support-label {
    display: block;
    font-size: 15px;
}

.support-input {
    width: 100%;
    padding: 14px;
    background-color: #262523;
    border: none;
    border-radius: 18px;
}

.support-input-long {
    height: 100px;
}

.support-btn {
    width: 100%;
    margin-top: 38px;
    padding: 7px 77px;
    font-family: 'Prata', serif;
    font-size: 24px;
    background-color: #EEFE67;
    border: none;
    border-radius: 18px;
    cursor: pointer;
}

.error {
    padding: 109px 0 160px;
    font-family: 'Inter', sans-serif;
    text-align: center;
}

.error-title {
    font-size: 20px;
    
}

.error-text {
    font-size: 200px;
    
}

.error-btn {
    padding: 12px 83px;
    margin-top: 74px;
    display: inline-block;
    font-size: 20px;
    text-decoration: none;
    color: #000000;
    background-color: #EEFE67;
    border-radius: 18px;
}

.footer {
    padding-bottom: 33px;
}

.footer-wrapper {
    padding: 5px 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #FFFF;
    border-radius: 10px;
}

.footer-list {
    margin-top: 5px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    list-style: none;
}

.footer-link {
    color: #FFFF;
    text-decoration: none;
}