body.campaign-landing {
    background: #f4f7f6;
    color: #172b2a;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.65;
    overflow-x: hidden;
}

.campaign-landing section {
    padding-top: 42px;
    padding-bottom: 42px;
}

.campaign-landing .container {
    max-width: 1120px;
}

.campaign-landing h1,
.campaign-landing h2,
.campaign-landing h3,
.campaign-landing h4,
.campaign-landing h5 {
    color: #173b38;
    font-weight: 750;
    line-height: 1.3;
}

.campaign-landing .campaign_banner,
.campaign-landing .description-inner,
.campaign-landing .whychoose-inner,
.campaign-landing .rev_inn,
.campaign-landing .offer_price,
.campaign-landing .form_inn > .col-sm-12 > .row {
    border: 1px solid rgba(23, 59, 56, .10);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(20, 53, 49, .08);
}

.campaign-landing .campaign_banner,
.campaign-landing .description-inner,
.campaign-landing .whychoose-inner,
.campaign-landing .rev_inn,
.campaign-landing .offer_price {
    padding: clamp(18px, 3vw, 34px);
}

.campaign-landing .banner-img img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 620px;
    object-fit: contain;
    border-radius: 14px;
}

.campaign-landing .short-des-title,
.campaign-landing .main-description,
.campaign-landing .main-whychoose {
    color: #354a48;
    font-size: 17px;
    line-height: 1.8;
}

.campaign-landing .ord_btn {
    margin-top: 22px;
}

.campaign-landing a.order_place,
.campaign-landing button.order_place,
.campaign-landing .confirm_order {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 28px;
    border: 0;
    border-radius: 12px;
    background: #12675f;
    color: #fff;
    font-size: 18px;
    font-weight: 750;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(18, 103, 95, .20);
    cursor: pointer;
}

.campaign-landing a.order_place:hover,
.campaign-landing button.order_place:hover,
.campaign-landing .confirm_order:hover {
    background: #0d514b;
    color: #fff;
}

.campaign-landing .form_sec {
    background: #eaf1ef;
}

.campaign-landing .form_inn > .col-sm-12 > .row {
    margin: 0;
    padding: clamp(12px, 2vw, 24px);
}

.campaign-landing .checkout-shipping .card,
.campaign-landing .cart_details .card {
    height: 100%;
    overflow: hidden;
    border: 1px solid #dbe6e3;
    border-radius: 14px;
    box-shadow: none;
}

.campaign-landing .checkout-shipping .card-header,
.campaign-landing .cart_details .card-header {
    padding: 16px 18px;
    border-bottom: 1px solid #dbe6e3;
    background: #f7faf9;
}

.campaign-landing .checkout-shipping .card-body,
.campaign-landing .cart_details .card-body {
    padding: 18px;
}

.campaign-landing .customized-input-box .form-control {
    min-height: 48px;
    border: 1px solid #cbd9d6;
    border-radius: 9px;
    font-size: 16px;
}

.campaign-landing .shipping-area-box,
.campaign-landing .selector {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.campaign-landing .area-item label,
.campaign-landing .selector-item_label {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border: 1px solid #bfd0cc;
    border-radius: 9px;
    background: #fff;
    color: #21423f;
    cursor: pointer;
}

.campaign-landing .area-item.active label,
.campaign-landing .selector-item_radio:checked + .selector-item_label {
    border-color: #12675f;
    background: #e4f2ef;
    color: #104f49;
    box-shadow: inset 0 0 0 1px #12675f;
}

.campaign-landing .area-item input,
.campaign-landing .selector-item_radio {
    position: absolute;
    opacity: 0;
}

.campaign-landing .area-item label:focus-within,
.campaign-landing .selector-item_radio:focus-visible + .selector-item_label {
    outline: 3px solid rgba(18, 103, 95, .28);
    outline-offset: 2px;
}

.campaign-landing .review_item img,
.campaign-landing .size_chart_img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: contain;
}

.campaign-landing .product-price p {
    margin-bottom: 8px;
    color: #173b38;
    font-size: 25px;
    font-weight: 750;
}

.campaign-landing .product-price .old_price {
    color: #75827f;
    font-size: 18px;
    font-weight: 500;
}

.campaign-landing .cart_table {
    min-width: 360px;
}

.campaign-landing .cart_table th,
.campaign-landing .cart_table td {
    padding: 12px 8px;
    vertical-align: middle;
}

@media (max-width: 767px) {
    .campaign-landing section {
        padding-top: 26px;
        padding-bottom: 26px;
    }

    .campaign-landing .campaign_banner,
    .campaign-landing .description-inner,
    .campaign-landing .whychoose-inner,
    .campaign-landing .rev_inn,
    .campaign-landing .offer_price {
        padding: 16px;
        border-radius: 13px;
    }

    .campaign-landing .short-des-title,
    .campaign-landing .main-description,
    .campaign-landing .main-whychoose {
        font-size: 16px;
    }

    .campaign-landing a.order_place,
    .campaign-landing button.order_place,
    .campaign-landing .confirm_order {
        width: 100%;
        min-height: 54px;
        padding: 13px 18px;
    }

    .campaign-landing .checkout-shipping .card-body,
    .campaign-landing .cart_details .card-body {
        padding: 14px;
    }

    .campaign-landing .area-item label,
    .campaign-landing .selector-item_label {
        min-height: 48px;
        padding: 10px 13px;
    }

    .campaign-landing .product-price p {
        font-size: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .campaign-landing *,
    .campaign-landing *::before,
    .campaign-landing *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}
