.home {
    min-height: 100vh;
}

.hero-mobile {
    height: 300px;
    display: flex;
    align-items: center;
    background-image: url(../img/index/bg.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.hero-mobile > div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.5);

    color: #fff;
    line-height: 1.25;
    letter-spacing: .5px;
    text-align: center;
    padding: 25px;
}
.hero-desktop {
    display: none;
}

.home-steps-inner {
    padding: 50px 2.5rem;
    background-color: #0E0E0E;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.home-steps-inner div:first-child {
    margin-bottom: 1.5rem;
}
.home-steps-inner div:last-child {
    text-align: center;
}
.home-steps-inner h1 {}
.home-steps-text p {
    color: #fff;
    font-weight: 500;
    text-align: center;
    margin-bottom: 1rem;
}
.home-steps-input input {
    border: none;
    margin-bottom: 1.5rem;
}

.home-cards-mobile {
    background-color: #1E1E1E;
    min-height: 300px;
    max-width: 100%;
    position: relative;
    overflow: hidden;
}
.carousel-track {
    display: flex;
    transition: transform 0.3s ease-in-out;
    touch-action: pan-y;
}
.carousel-item {
    background-color: #1E1E1E;
    min-width: 100%;
    min-height: 300px;
    text-align: center;
    padding: 45px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.carousel-item.highlighted {
    background-color: #FFCC00;
}
.carousel-item img {
    width: 100%;
    height: 120px;
    margin-bottom: 15px;
}
.carousel-item p {
    font-size: 16px;
    color: #fff;
    line-height: 1.5;
    font-weight: 600;
}
.carousel-item.highlighted p {
    color: #000;
    background-color: #FFCC00;
}
.carousel-dots {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    gap: 10px;
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
}
.carousel-dots .dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #fff;
    cursor: pointer;
    transition: background-color 0.3s;
}
.carousel-dots .dot.active {
    background-color: #000;
}
.carousel-dots .dot:hover {
    background-color: #000;
}

.home-cards-desktop {
    display: none;
    height: 25vh;
    background-color: #0E0E0E;
}

.home-cards-desktop-inner {
    max-width: 1400px;
    height: 100%;
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    margin: 0 auto;
}
.home-card {
    width: 25%;
    color: #fff;
    background-color: #1E1E1E;
    text-align: center;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 30px;
    transition: all .2s ease-in-out;
    cursor: default;
}
.home-card.highlighted {
    color: #000;
    background-color: #FFCC00;
}
.home-card img {
    margin-bottom: 1.5rem;
}
.home-card.highlighted img {
    filter: invert(94%) sepia(99%) saturate(0%) hue-rotate(249deg) brightness(113%) contrast(100%);
}

@media (min-width: 768px) {
    .hero-mobile {
        display: none;
    }
    .hero-desktop {
        display: block;
    }

    .home-steps {
        height: 75vh;
        display: flex;
        align-items: center;
        padding-top: 100px;
        background-image: url(../img/index/bg.jpg);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    .home-steps-inner {
        justify-content: center;
        background: rgba(0, 0, 0, 0.6);
        width: 100%;
        height: 40vh;
    }
    .home-steps-input {
        display: flex;
        gap: 1%;
    }
    .home-steps-text {
        display: flex;
        gap: 5%;
    }
    .home-steps-text p {
        text-align: left;
        display: flex;
        align-items: center;
        gap: .5rem;
        text-transform: uppercase;
    }
    .home-steps-text p span:first-child {
        color: #FFCC00;
        font-size: 80px;
    }
    .home-steps-text p span:last-child {
        font-size: 14px;
        line-height: 1.5;
    }
    .home-steps-input input {
        flex-grow: 1;
    }
    .home-steps-inner div:first-child {
        width: 100%;
        max-width: 1400px;
        justify-content: space-between;
    }
    .home-steps-inner div:last-child {
        width: 100%;
        max-width: 1400px;
    }
    .home-steps-inner button {
        width: 280px
    }

    .home-cards-mobile {
        display: none;
    }
    .home-cards-desktop {
        display: block;
    }
}

@media (min-width: 978px) {
    .home-steps-text p span:first-child {
        font-size: 100px;
    }
    .home-steps-text p span:last-child {
        font-size: 16px;
    }
}

@media (min-width: 1140px) {
    .home-steps-text p span:first-child {
        font-size: 140px;
    }
    .home-steps-text p span:last-child {
        font-size: 18px;
    }
}

@media (min-width: 1400px) {
    .home-steps {
        background-position: center -75px;
    }
}



.description {
    padding: 50px 40px;
    background-color: #f3f3f3;
    text-align: center;
}
.description h1 {
    margin-bottom: 2rem;
}
.description p {
    font-size: 13px;
    font-weight: 500;
}
.description br {
}

@media (min-width: 768px) {
    .description {
        padding: 7rem 40px;
        background-color: #f3f3f3;
        text-align: center;
    }
    .description p {
        font-size: 16px;
        margin: 0;
    }
}



.order {
    padding: 50px 40px;
    background-color: #fff;
}
.order h1 {
    margin-bottom: 3rem;
}
.order h1 span {
    color: #ccc;
}

.shipping-type-item,
.additional-expenses-item {
    position: relative;
    padding-left: 38px;
    margin-bottom: 28px;
}
.shipping-type-item input,
.additional-expenses-item input {
    visibility: hidden;
    position: absolute;
    z-index: -1;
}
.shipping-type-item label,
.additional-expenses-item label {
    cursor: pointer;
}
.shipping-type-item input + label:before,
.additional-expenses-item input + label:before {
    content: " ";
    display: block;
    position: absolute;
    top: 6px;
    left: 6px;
    height: 10px;
    width: 10px;
    margin-right: 2px;
    padding: 5px;
    vertical-align: baseline;
    border-radius: 50%;
    z-index: 1;
    cursor: pointer;
    transition: all .2s ease-in-out;
}
.shipping-type-item input:checked + label:before,
.additional-expenses-item input:checked + label:before {
    background: #000;
}
.shipping-type-item input + label:after,
.additional-expenses-item input + label:after {
    content: " ";
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    height: 16px;
    width: 16px;
    border: 1px solid #C0D5DE;
    border-radius: 2px;
    background-color: #fff;
    cursor: pointer;
}
.shipping-type-item label span,
.additional-expenses-item label span {
    font-size: 13px;
    font-weight: 500;
}
.shipping-type-item label span:first-child,
.additional-expenses-item label span:first-child {
    display: block;
    font-weight: 700;
}
.additional-expenses-item-price {
    display: block;
    margin-top: 1rem
}

.cart-desktop {
    display: none;
}
.cart-mobile {
    max-width: 100%;
    margin: 80px auto 50px;
}
.cart-carousel-container {
    margin-bottom: 3rem;
}
.cart-carousel-wrapper {
    position: relative;
    overflow: hidden;
}
.cart-carousel-track {
    display: flex;
    transition: transform 0.3s ease-in-out;
    touch-action: pan-y;
}
.cart-item {
    min-width: 100%;
    padding-left: 35px;
}
.cart-item h5 {
    font-size: 14px;
    font-weight: 600;
    padding-right: 40%;
}
.cart-item-description {
    margin-bottom: 15px;
    padding-right: 40%;
}
.cart-item-details {

}
.cart-item-details > div {
    display: flex;
}
.cart-item-details > div > *:first-child {
    width: 45%;
}
.cart-item-details > div > *:last-child {
    width: 55%;
}
.cart-item-details p {
    font-weight: 600;
}
.cart-item-details-nav-prev {
    padding: 0 5px;
    cursor: pointer;
}
.cart-item-details-nav-next {
    padding: 0 5px;
    cursor: pointer;
}
.cart-item-quantity {
    margin-bottom: 1.5rem;
}
.cart-item-price-rub {
    margin-bottom: 1.5rem;
}
.cart-item-discount {
    min-height: 22px;
    margin-bottom: 1.5rem;
}
.cart-item-discount-badge {
    text-align: center;
    color: #fff;
    background-color: #FF3B30;
    padding: 2px 3px;
    border-radius: 20px;
}
.cart-item-total {
    margin-bottom: 2rem;
}
.cart-item-total > span {
    display: flex;
    align-items: center;
}
.cart-item-total > span > span {
    font-weight: 600;
    margin-right: .25rem;
}
.cart-item-delete img {
    padding: .25rem;
}
.cart-carousel-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
}
.cart-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #E1E5EE;
    cursor: pointer;
    transition: background-color 0.3s;
}
.cart-dot.active {
    background-color: #000;
}
.cart-dot:hover {
    background-color: #000;
}
.cart-total-price {
    text-align: center;
    font-weight: 600;
}

.table-container {
    border: 1px solid #E9E9E9;
}
.order-table {
    color: #313131;
    background: white;
    width: 100%;
    border-collapse: collapse;
    border-radius: 5px;
    overflow: hidden;
}
.order-table th,
.order-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}
.order-table th {
    color: #1E1E1E;
    font-weight: 600;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.order-table td {
    font-size: 14px;
}
.order-table th:nth-child(n+3),
.order-table td:nth-child(n+3) {
    text-align: center;
}
.order-table tbody tr {
    transition: background-color 0.2s ease;
}
.order-table tbody tr:hover {
    background-color: #f8f9fa;
}
.order-table tbody tr.selected {
    background-color: #e3f2fd;
}
.order-table tfoot {
    font-weight: 600;
}
.order-table tfoot tr td {
    border-bottom: 0;
}
.col-euro {
    display: none;
}
.col-discount {
    display: none;
}
.select-all-checkbox,
.row-checkbox {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #FFCC00;
}
.order-table .discount {
    text-align: center;
    color: #fff;
    background-color: #FF3B30;
    padding: 3px 6px;
    border-radius: 20px;
    white-space: nowrap;
}
.order-table-size,
.order-table-amount {
    display: flex;
    justify-content: center;
    align-items: center;
}
.order-table-nav-prev {
    padding-right: .5rem;
    cursor: pointer;
}
.order-table-nav-next {
    padding-left: .5rem;
    cursor: pointer;
}


.additional-expenses {
    margin-bottom: 50px;
}

.promo-code-input {
    text-align: center;
    margin-bottom: 50px;
}
.promo-code-input input {
    margin-bottom: 1.5rem;
}

.share {
    text-align: center;
    margin-bottom: 50px;
}
.share-socials {
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}
.share-social-option {
    cursor: pointer;
    transition: all 0.3s ease;
}
.share-social-option:hover {
    transform: translateY(-2px);
}
.social-icon {
    width: 30px;
    height: 30px;
    display: block;
    transition: all 0.3s ease;
}
.share input {
    margin-bottom: 1.5rem;
}
.share button {
    background-color: #fff;
}
.share button:hover {
    color: #000;
    background-color: #ffcc00;
}
.share button.open {
    color: #000;
    background-color: #ffcc00;
}
.share button.open:hover {
    color: #fff;
    background-color: #1E1E1E;
}

.total-price {
    text-align: center;
    font-weight: 600;
}

@media (min-width: 768px) {
    .order {
        padding: 7rem 2rem;
    }
    .order-inner {
        max-width: 1400px;
        margin: 0 auto;
    }

    .shipping-type {
        display: flex;
        justify-content: space-between;
        gap: 2%;
        margin-bottom: 2.75rem;
    }
    .shipping-type-item {
        width: 48%;
    }
    .shipping-type-item,
    .additional-expenses-item {
        margin-bottom: 0;
    }
    .shipping-type-item label span,
    .additional-expenses-item label span {
        font-size: 14px;
        font-weight: 400;
    }
    .shipping-type-item input + label:hover:before,
    .additional-expenses-item input + label:hover:before {
        background: #3b3b3b;
    }
    .shipping-type-item input:checked + label:hover:before,
    .additional-expenses-item input:checked + label:hover:before {
        background: #000;
    }

    .cart-mobile {
        display: none;
    }
    .cart-desktop {
        display: block;
        margin-bottom: 2.5rem;
    }

    .additional-expenses {
        display: flex;
        flex-wrap: wrap;
        gap: 2%;
        justify-content: space-between;
    }
    .additional-expenses-item {
        width: 48%;
        margin-bottom: 2.5rem;
        padding-right: 120px;
    }
    .additional-expenses-item-price {
        position: absolute;
        right: 0;
        top: 0;
        margin: 0;
    }

    .other {
        display: flex;
        margin: 0 auto 4rem;
        flex-wrap: wrap;
        row-gap: 2rem;
        column-gap: 2rem;
        justify-content: space-around;
    }
    .promo-code-input {
        display: flex;
        gap: 1rem;
        align-items: center;
        margin-bottom: 0;
    }
    .share {
        display: flex;
        gap: 1rem;
        align-items: center;
        margin-bottom: 0;
    }
    .share-socials {
        margin-bottom: 0;
        margin-right: 1rem;
    }
    #share-socials-input-wrapper {
        display: flex;
    }
    #share-socials-input-wrapper button {
        white-space: nowrap;
    }
    .promo-code-input input,
    .share input {
        margin-bottom: 0;
    }

    .total-price {
        font-size: 14px;
        text-align: right;
    }
}

@media (min-width: 849px) {
    .order-table th {
        white-space: nowrap;
    }
}

@media (min-width: 987px) {
    .col-discount {
        display: table-cell;
    }
}

@media (min-width: 1100px) {
    .col-euro {
        display: table-cell;
    }
}


.delivery {
    padding: 50px 2rem;
    background-color: #FFCC00;
}
.delivery h1 {
    margin-bottom: 1rem;
}
.delivery h1 span {
    color: #cca300;
}
.section-subtitle {
    font-size: 13px;
    text-align: center;
    margin-bottom: 3rem;
}

.delivery-type-item:not(:last-child) {
    position: relative;
    margin-bottom: 3rem;
}
.delivery-type-item img {
    max-width: 150px;
}
.delivery-type-item label {
    cursor: pointer;
}
.delivery-type-item label span:first-child {
    display: flex;
    position: relative;
    align-items: flex-end;
    padding-left: 50px;
    padding-bottom: .5rem;
    margin-bottom: .5rem;
    border-bottom: 1px solid #38321a;
}
.delivery-type-item label span:first-child span {
    margin-left: 1rem;
    font-weight: 700;
}
.delivery-type-item label span:last-child {
    display: block;
    font-weight: 500;
}
.delivery-type-item input {
    visibility: hidden;
    position: absolute;
    z-index: -1;
}
.delivery-type-item input + label span:first-child:before {
    content: " ";
    display: block;
    position: absolute;
    bottom: 19px;
    left: 20px;
    height: 10px;
    width: 10px;
    margin-right: 2px;
    padding: 5px;
    vertical-align: baseline;
    border-radius: 50%;
    z-index: 1;
    transition: all .2s ease-in-out;
}
.delivery-type-item input:checked + label span:first-child:before {
    background: #000;
}
.delivery-type-item input + label span:first-child:after {
    content: " ";
    display: block;
    position: absolute;
    bottom: 16px;
    left: 17px;
    height: 16px;
    width: 16px;
    background-color: #fff;
    border: 1px solid #565656;
    border-radius: 2px;
}

@media (min-width: 768px) {
    .delivery {
        padding: 7rem 2rem;
        background-color: #FFCC00;
    }
    .delivery-inner {
        max-width: 1200px;
        margin: 0 auto;
    }

    .delivery-type-item label span:first-child {
        padding-left: 62px;
    }
    .delivery-type-item label > span:last-child {
        padding-left: 62px;
    }
    .delivery-type-item input + label:hover span:first-child:before {
        background: #3b3b3b;
    }
    .delivery-type-item input:checked + label:hover span:first-child:before {
        background: #000;
    }
}



.payment {
    color: #fff;
    padding: 50px 28px;
    background-color: #3b3b3b;
}
.payment h1 {
    margin-bottom: 1rem;
}
.payment h1 span {
    color: #acacac;
}

.payment-time {
    margin-bottom: 4rem;
    padding-left: 22px;
}
.payment-time-item {
    position: relative;
    padding-left: 42px;
    margin-bottom: 42px;
}
.payment-time-item label {
    cursor: pointer;
}
.payment-time-item input {
    visibility: hidden;
    position: absolute;
    z-index: -1;
}
.payment-time-item input + label:before {
    content: " ";
    display: block;
    position: absolute;
    top: 6px;
    left: 6px;
    height: 10px;
    width: 10px;
    margin-right: 2px;
    padding: 5px;
    vertical-align: baseline;
    border-radius: 50%;
    z-index: 1;
    cursor: pointer;
    transition: all .2s ease-in-out;
}
.payment-time-item input:checked + label:before {
    background: #000;
}
.payment-time-item input + label:after {
    content: " ";
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    height: 16px;
    width: 16px;
    border: 1px solid #C0D5DE;
    border-radius: 2px;
    background-color: #fff;
    cursor: pointer;
}
.payment-time-item label span {
    font-size: 13px;
    font-weight: 300;
}
.payment-time-item label span:first-child {
    display: block;
    font-weight: 600;
}

.payment-type {
    margin-bottom: 50px;
    padding-left: 8px;
}
.payment-type-item {
    position: relative;
    font-size: 14px;
}
.payment-type-item:not(:last-child) {
    position: relative;
    margin-bottom: 2.75rem;
}
.payment-type-item img {
    display: none;
}
.payment-type-item label {
    cursor: pointer;
}
.payment-type-item label span:first-child {
    display: flex;
    position: relative;
    align-items: flex-end;
    padding-bottom: 1rem;
    padding-left: 4rem;
    margin-bottom: .5rem;
    border-bottom: 1px solid #cacaca;
    font-weight: 600;
}
.payment-type-item label span:last-child {
    display: block;
    padding-left: 4rem;
}

.payment-type-item input {
    visibility: hidden;
    position: absolute;
    z-index: -1;
}
.payment-type-item input + label span:first-child:before {
    content: " ";
    display: block;
    position: absolute;
    bottom: 19px;
    left: 20px;
    height: 10px;
    width: 10px;
    margin-right: 2px;
    padding: 5px;
    vertical-align: baseline;
    border-radius: 50%;
    z-index: 1;
    transition: all .2s ease-in-out;
}
.payment-type-item input:checked + label span:first-child:before {
    background: #000;
}
.payment-type-item input + label span:first-child:after {
    content: " ";
    display: block;
    position: absolute;
    bottom: 16px;
    left: 17px;
    height: 16px;
    width: 16px;
    background-color: #fff;
    border: 1px solid #565656;
    border-radius: 2px;
}

@media (min-width: 768px) {
    .payment {
        padding: 7rem 2rem 3rem;
    }
    .payment .section-subtitle {
        font-size: 16px;
        margin-bottom: 92px;
    }
    .payment-inner {
        max-width: 1250px;
        margin: 0 auto;
    }

    .payment-time {
        display: flex;
        justify-content: space-between;
        gap: 2%;
        margin-bottom: 4.25rem;
        padding-left: 4rem;
    }
    .payment-time-item {
        width: 48%;
        margin-bottom: 0;
    }
    .payment-time-item label span {
        font-size: 14px;
        font-weight: 400;
    }
    .payment-time-item input + label:hover:before {
        background: #3b3b3b;
    }
    .payment-time-item input:checked + label:hover:before {
        background: #000;
    }

    .payment-type-item {
        display: flex;
        align-items: flex-start;
    }
    .payment-type-item:not(:last-child) {
        position: relative;
        margin-bottom: 2.5rem;
    }
    .payment-type-item div {
        width: 100%;
    }

    .payment-type-item img {
        display: block;
        max-width: 30px;
        margin-right: 1rem;
    }
    .payment-type-item label span:first-child {
        padding-bottom: 15px;
    }
    .payment-type-item input + label:hover span:first-child:before {
        background: #3b3b3b;
    }
    .payment-type-item input:checked + label:hover span:first-child:before {
        background: #000;
    }
}



.contact {
    color: #fff;
    background-color: #3b3b3b;
    padding: 0 1rem 50px;
}
.contact h1 {
    margin-bottom: 2rem;
}
.contact h1 span {
    color: #727272;
}

.contact-form {
    padding: 0 4rem;
    text-align: center;
    margin-bottom: 3rem;
}
.contact-form-item p {
    color: #727272;
    margin-bottom: 1.5rem;
    font-weight: 500;
}
.contact-form-item input[type=text] {
    width: 100%;
    margin-bottom: 1.5rem;
}
.contact-form-item:last-child input[type=text] {
    margin-bottom: 0;
}

.eula {
    padding: 0 50px;
}
.eula p {
    margin-bottom: 2rem;
}
.eula p a {
    color: #fff;
}
.eula-accept {
    position: relative;
    padding-left: 38px;
    margin-bottom: 2rem;
}
.eula-accept input {
    visibility: hidden;
    position: absolute;
    z-index: -1;
}
.eula-accept label {
    cursor: pointer;
}
.eula-accept input + label:before {
    content: " ";
    display: block;
    position: absolute;
    top: 6px;
    left: 6px;
    height: 10px;
    width: 10px;
    margin-right: 2px;
    padding: 5px;
    vertical-align: baseline;
    border-radius: 50%;
    z-index: 1;
    cursor: pointer;
    transition: all .2s ease-in-out;
}
.eula-accept input:checked + label:before {
    background: #000;
}
.eula-accept input + label:after {
    content: " ";
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    height: 16px;
    width: 16px;
    border: 1px solid #C0D5DE;
    border-radius: 2px;
    background-color: #fff;
    cursor: pointer;
}
.eula-accept label {
    font-size: 13px;
    font-weight: 500;
}

@media (min-width: 768px) {
    .contact {
        padding: 3rem 2rem;
    }
    .contact-form-inner {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        column-gap: 3%;
        row-gap: 2rem;
        max-width: 1400px;
        margin: 0 auto;
    }
    .contact-form-item p {
        display: none;
    }
    .contact-form-item input[type=text] {
        margin-bottom: 0;
    }
    .contact-form-item.phone {
        width: 24%;
    }
    .contact-form-item.name {
        width: 73%;
    }
    .contact-form-item.address {
        width: 63%;
    }
    .contact-form-item.contact-method {
        width: 34%;
    }

    .eula {
        font-size: 14px;
    }
    .eula-inner {
        max-width: 1200px;
        margin: 0 auto 2rem;
    }
    .eula-accept input + label:hover:before {
        background: #3b3b3b;
    }
    .eula-accept input:checked + label:hover:before {
        background: #000;
    }
}


.submit-order {
    text-align: center;
}
