/*
 * V2 Demo Kit Product Page Styles
 * Design source: Figma node 640:4756 (Dev Mode px ÷ 16 = rem)
 * Layout: section (full-width bg) > .v2-container > inner elements
 */

html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

#tg-contact {
    padding-top: 0!important;
    background: #F5F5F7;
}

/* ==========================================
 * 1. Hero — Figma 641:4858 / 799:5560 / 668:7591
 * ========================================== */
.v2-demokit-hero {
    position: relative;
    width: 100%;
    min-height: 46.25rem;
    box-sizing: border-box;
    overflow: hidden;
    background-image: url(/uploads/image/v2/demokit/hero-product.avif);
    background-repeat: no-repeat;
    background-size: cover;
}
.v2-demokit-hero-inner {
    padding-top: 5.75rem;
    padding-bottom: 6.3125rem;
    box-sizing: border-box;
}
.v2-demokit-hero-content {
    flex: 0 0 46.5625rem;
    width: 46.5625rem;
    max-width: 46.5625rem;
}
.v2-demokit-hero-title {
    font-size: 2.75rem;
    font-family: "Gotham-Bold", sans-serif;
    line-height: normal;
    margin: 0;
    white-space: nowrap;
}
.v2-demokit-hero-title span {
    font-size: 2.75rem;
    font-family: "Gotham-Bold", sans-serif;
    line-height: normal;
}
.v2-demokit-hero-title-dark {
    color: #323232;
}
.v2-demokit-hero-title-accent {
    color: #008CFF;
}
.v2-demokit-hero-body {
    font-size: 1.375rem;
    font-family: "Gotham-Book", sans-serif;
    color: #323232;
    line-height: normal;
    margin-top: 1.25rem;
    max-width: 43.9375rem;
}
.v2-demokit-kit-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2.8125rem;
    row-gap: 1.5rem;
    margin-top: 1.5625rem;
}
.v2-demokit-kit-item {
    position: relative;
    min-height: 4.4375rem;
}
.v2-demokit-kit-check {
    position: absolute;
    left: 0;
    top: 0.125rem;
    width: 1.25rem;
    height: 1.25rem;
}
.v2-demokit-kit-item-text {
    padding-left: 1.875rem;
}
.v2-demokit-kit-item-title {
    font-size: 1.25rem;
    font-family: "Gotham-Bold", sans-serif;
    color: #323232;
    line-height: normal;
}
.v2-demokit-kit-item-desc {
    font-size: 1.125rem;
    font-family: "Gotham-Book", sans-serif;
    color: #323232;
    line-height: 1.25rem;
    margin-top: 0.4375rem;
}
.v2-demokit-hero-btns {
    display: flex;
    align-items: center;
    gap: 1.875rem;
    margin-top: 2.5rem;
}
.v2-demokit-hero-btn-order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 9.0625rem;
    height: 2.5rem;
    border-radius: 3.75rem;
    background: linear-gradient(101.22deg, rgb(255, 92, 77) 21.84%, rgb(255, 152, 79) 95.64%);
    font-size: 1.125rem;
    font-family: "Gotham-Medium", sans-serif;
    color: #FFFFFF;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    transition: box-shadow 0.3s ease, color 0.3s ease;
}
.v2-demokit-hero-btn-order::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: inherit;
    background: linear-gradient(93deg, #FFB69A 21.84%, #FFD4B5 95.64%);
    z-index: -1;
    opacity: 0;
    transition: opacity 0.4s ease;
}
.v2-demokit-hero-btn-order::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: inherit;
    background: linear-gradient(93deg, #E74034 21.84%, #FF9C45 87.28%);
    z-index: -1;
    opacity: 0;
    transition: opacity 0.1s ease;
}
.v2-demokit-hero-btn-order:hover {
    color: #FFFFFF;
}
.v2-demokit-hero-btn-order:hover::before {
    opacity: 1;
}
.v2-demokit-hero-btn-order:hover::after {
    opacity: 0;
}
.v2-demokit-hero-btn-order:active::after {
    opacity: 1;
}
.v2-demokit-hero-btn-sales {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 9.5625rem;
    height: 2.5rem;
    border-radius: 3.5rem;
    background: linear-gradient(90.93deg, rgb(12, 136, 215) 1.72%, rgb(100, 215, 155) 100%);
    font-size: 1.125rem;
    font-family: "Gotham-Medium", sans-serif;
    color: #FFFFFF;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    transition: box-shadow 0.3s ease, color 0.3s ease;
}
.v2-demokit-hero-btn-sales::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #6DC6FF 0%, #ADFFD4 100%);
    z-index: -1;
    opacity: 0;
    transition: opacity 0.4s ease;
}
.v2-demokit-hero-btn-sales::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #034EA6 0%, #3BC877 100%);
    z-index: -1;
    opacity: 0;
    transition: opacity 0.1s ease;
}
.v2-demokit-hero-btn-sales:hover {
    color: #FFFFFF;
}
.v2-demokit-hero-btn-sales:hover::before {
    opacity: 1;
}
.v2-demokit-hero-btn-sales:hover::after {
    opacity: 0;
}
.v2-demokit-hero-btn-sales:active::after {
    opacity: 1;
}

/* ==========================================
 * 2. Stats — Figma 799:5545 / 668:8655
 * ========================================== */
.v2-demokit-stats-section {
    background-color: #F5F5F7;
    padding-top: 5rem;
    padding-bottom: 3.375rem;
}
.v2-demokit-stats-wrap {
    position: relative;
}
.v2-demokit-stats-vector {
    position: absolute;
    left: 8.510625rem;
    top: 3.88625rem;
    width: 80.32875rem;
    max-width: calc(100% - 8.510625rem);
    height: 1.89125rem;
    pointer-events: none;
}
.v2-demokit-stats-grid {
    display: flex;
    gap: 2rem;
}
.v2-demokit-stats-card {
    flex: 0 0 22.25rem;
    width: 22.25rem;
    height: 11.5rem;
    background: #FFFFFF;
    border-radius: 0.875rem;
    box-shadow: 0 0 0.625rem 0 rgba(34, 50, 72, 0.1);
    box-sizing: border-box;
}
.v2-demokit-stats-label {
    display: block;
    font-size: 1.25rem;
    font-family: "Gotham-Book", sans-serif;
    color: #323232;
    line-height: normal;
    text-align: center;
    margin: 6.3125rem 0 0;
    white-space: nowrap;
}

/* ==========================================
 * 3. Purpose — Figma 799:5543
 * ========================================== */
.v2-demokit-purpose-section {
    padding-bottom: 5rem;
    background-color: #F5F5F7;
}
.v2-demokit-section-title {
    font-size: 2.75rem;
    font-family: "Gotham-Bold", sans-serif;
    color: #323232;
    line-height: normal;
    margin: 0;
}
.v2-demokit-section-subtitle {
    font-size: 1.375rem;
    font-family: "Gotham-Book", sans-serif;
    color: #323232;
    line-height: normal;
    margin-top: 1.3125rem;
    max-width: 48.625rem;
}
.v2-demokit-purpose-grid {
    display: flex;
    gap: 2.5rem;
    margin-top: 2.375rem;
}
.v2-demokit-purpose-card {
    flex: 0 0 30rem;
    width: 30rem;
    height: 15.125rem;
    background: #FFFFFF;
    border-radius: 0.875rem;
    box-shadow: 0 0 0.625rem 0 rgba(34, 50, 72, 0.1);
    padding: 2.5rem;
    box-sizing: border-box;
}
.v2-demokit-purpose-icon {
    display: block;
    object-fit: contain;
}
.v2-demokit-purpose-card:nth-child(1) .v2-demokit-purpose-icon {
    width: 2.5rem;
    height: 2.5rem;
}
.v2-demokit-purpose-card:nth-child(2) .v2-demokit-purpose-icon {
    width: 2.91875rem;
    height: 2.29375rem;
    margin-top: 0.1875rem;
}
.v2-demokit-purpose-card:nth-child(3) .v2-demokit-purpose-icon {
    width: 2.60625rem;
    height: 2.3375rem;
    margin-top: 0.1875rem;
}
.v2-demokit-purpose-card-title {
    font-size: 1.625rem;
    font-family: "Gotham-Bold", sans-serif;
    color: #323232;
    line-height: normal;
    margin: 1rem 0 0;
}
.v2-demokit-purpose-card-desc {
    font-size: 1.125rem;
    font-family: "Gotham-Book", sans-serif;
    color: #323232;
    line-height: 1.375rem;
    margin-top: 0.625rem;
}

/* ==========================================
 * 4. Steps — Figma 799:5539 / 664:7093
 * ========================================== */
.v2-demokit-steps-section {
    background-color: #001C54;
    min-height: 40.625rem;
    padding: 4.5rem 0 5rem;
    box-sizing: border-box;
}
.v2-demokit-steps-title {
    font-size: 2.75rem;
    font-family: "Gotham-Bold", sans-serif;
    color: #FFFFFF;
    line-height: normal;
    margin: 0;
}
.v2-demokit-steps-subtitle {
    font-size: 1.375rem;
    font-family: "Gotham-Book", sans-serif;
    color: #C4DAFF;
    line-height: normal;
    margin-top: 1.25rem;
    max-width: 62.625rem;
}
.v2-demokit-steps-wrap {
    margin-top: 2.5rem;
}
.v2-demokit-steps-timeline {
    display: flex;
    justify-content: space-between;
    padding: 0 8.25rem;
}
.v2-demokit-steps-timeline-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 6.0625rem;
}
.v2-demokit-steps-timeline-item:nth-child(2),
.v2-demokit-steps-timeline-item:nth-child(3),
.v2-demokit-steps-timeline-item:nth-child(4) {
    padding-top: 0.5625rem;
}
.v2-demokit-steps-timeline-icon {
    width: 2.75rem;
    height: 2.88125rem;
    object-fit: contain;
}
.v2-demokit-steps-timeline-icon--2 {
    width: 3.2625rem;
    height: 2.3rem;
}
.v2-demokit-steps-timeline-icon--3 {
    width: 3.18125rem;
    height: 2.33125rem;
}
.v2-demokit-steps-timeline-icon--4 {
    width: 3.2625rem;
    height: 2.3rem;
}
.v2-demokit-steps-timeline-label {
    font-size: 1.625rem;
    font-family: "Gotham-Medium", sans-serif;
    color: #FFFFFF;
    line-height: normal;
    margin-top: 0.8125rem;
    white-space: nowrap;
}
.v2-demokit-steps-timeline-item:nth-child(2) .v2-demokit-steps-timeline-label,
.v2-demokit-steps-timeline-item:nth-child(3) .v2-demokit-steps-timeline-label,
.v2-demokit-steps-timeline-item:nth-child(4) .v2-demokit-steps-timeline-label {
    margin-top: 0.5rem;
}
.v2-demokit-steps-track {
    position: relative;
    height: 1.25rem;
    margin: 0.625rem 0 1.875rem;
}
.v2-demokit-steps-track-line {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 0.25rem;
    background: linear-gradient(90deg, #0280FF 0%, #17C196 83.66%);
}
.v2-demokit-steps-track-dot {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 0 0 0.25rem rgba(2, 128, 255, 0.35);
}
.v2-demokit-steps-track-dot:nth-child(2) { left: 11.05%; }
.v2-demokit-steps-track-dot:nth-child(3) { left: 36.6%; }
.v2-demokit-steps-track-dot:nth-child(4) { left: 62.15%; }
.v2-demokit-steps-track-dot:nth-child(5) { left: 87.7%; }
.v2-demokit-steps-grid {
    display: flex;
    gap: 2rem;
}
.v2-demokit-step-card {
    flex: 0 0 22.25rem;
    width: 22.25rem;
    height: 12.3125rem;
    background-color: #0C2D66;
    border-radius: 0.875rem;
    box-shadow: 0 0 0.625rem 0 rgba(34, 50, 72, 0.1);
    padding: 2.25rem 2.5rem;
    box-sizing: border-box;
}
.v2-demokit-step-card-title {
    font-size: 1.4375rem;
    font-family: "Gotham-Bold", sans-serif;
    color: #FFFFFF;
    line-height: normal;
    margin: 0;
}
.v2-demokit-step-card-desc {
    font-size: 1.125rem;
    font-family: "Gotham-Book", sans-serif;
    color: #C4DAFF;
    line-height: 1.375rem;
    margin-top: 0.625rem;
}

/* ==========================================
 * 5. Ecosystem — 见 /assets/v2/css/v2_eco.css + chunk/v2_eco_full_rtls
 * ========================================== */

/* ==========================================
 * 6. FAQ — Figma 799:5523
 * ========================================== */
.v2-demokit-faq-section {
    padding: 4.5rem 0 5rem;
    background-color: #F5F5F7;
}
.v2-demokit-faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2.5rem;
    row-gap: 2.5rem;
    margin-top: 1.75rem;
}
.v2-demokit-faq-card {
    background: #FFFFFF;
    border-radius: 0.875rem;
    box-shadow: 0 0 0.625rem 0 rgba(34, 50, 72, 0.1);
    padding: 1.875rem 1.875rem 1.875rem 5.375rem;
    position: relative;
    box-sizing: border-box;
}
.v2-demokit-faq-card:nth-child(1),
.v2-demokit-faq-card:nth-child(2),
.v2-demokit-faq-card:nth-child(5),
.v2-demokit-faq-card:nth-child(6) {
    min-height: 11.875rem;
}
.v2-demokit-faq-card:nth-child(3),
.v2-demokit-faq-card:nth-child(4) {
    min-height: 10.5rem;
}
.v2-demokit-faq-icon {
    position: absolute;
    left: 1.875rem;
    top: 1.875rem;
    width: 2.5rem;
    height: 2.5rem;
}
.v2-demokit-faq-q {
    font-size: 1.625rem;
    font-family: "Gotham-Bold", sans-serif;
    color: #323232;
    line-height: normal;
    margin: 0.4375rem 0 0;
}
.v2-demokit-faq-a {
    font-size: 1.125rem;
    font-family: "Gotham-Book", sans-serif;
    color: #323232;
    line-height: 1.375rem;
    margin: 1.1875rem 0 0;
}

/* ==========================================
 * 7. Contact Form — provided by [[snippet form_new]]
 * ========================================== */

/* ==========================================
 * Responsive: ≤768px
 * ========================================== */
@media (max-width: 768px) {
    .v2-demokit-hero {
        min-height: auto;
    }
    .v2-demokit-hero-inner {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    .v2-demokit-hero-content {
        width: 100%;
        max-width: 100%;
    }
    .v2-demokit-hero-title {
        font-size: 1.75rem;
        white-space: normal;
    }
    .v2-demokit-hero-title span {
        font-size: 1.75rem;
    }
    .v2-demokit-hero-body {
        font-size: 1rem;
    }
    .v2-demokit-kit-list {
        grid-template-columns: 1fr;
        row-gap: 1.25rem;
    }
    .v2-demokit-hero-btns {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
    .v2-demokit-hero-btn-order,
    .v2-demokit-hero-btn-sales {
        width: auto;
        min-width: 9.0625rem;
        padding: 0 1.25rem;
    }
    .v2-demokit-stats-section {
        padding-top: 3rem;
        padding-bottom: 2rem;
    }
    .v2-demokit-stats-vector {
        display: none;
    }
    .v2-demokit-stats-grid {
        flex-wrap: wrap;
        justify-content: center;
    }
    .v2-demokit-stats-card {
        flex: 1 1 calc(50% - 1rem);
        width: auto;
        min-width: 0;
        height: auto;
        min-height: 8rem;
    }
    .v2-demokit-stats-label {
        margin-top: 3rem;
        font-size: 1rem;
        white-space: normal;
    }
    .v2-demokit-section-title,
    .v2-demokit-steps-title {
        font-size: 1.75rem;
        line-height: 2.125rem;
    }
    .v2-demokit-section-subtitle,
    .v2-demokit-steps-subtitle {
        font-size: 1rem;
    }
    .v2-demokit-purpose-grid {
        flex-direction: column;
        gap: 1.5rem;
        margin-top: 2rem;
    }
    .v2-demokit-purpose-card {
        flex: 1 1 auto;
        width: 100%;
        height: auto;
    }
    .v2-demokit-steps-timeline {
        padding: 0;
        flex-wrap: wrap;
        gap: 1rem;
        justify-content: center;
    }
    .v2-demokit-steps-track {
        display: none;
    }
    .v2-demokit-steps-grid {
        flex-direction: column;
        align-items: center;
    }
    .v2-demokit-step-card {
        width: 100%;
        height: auto;
        flex: 1 1 auto;
    }
    .v2-demokit-faq-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        margin-top: 2.5rem;
    }
    .v2-demokit-faq-card {
        min-height: 0;
    }
}
