.ec-detail {
    position: relative;
    background-color: var(--color-primary);
    color: var(--color-text-white);
    padding: 16rem 0;
    z-index: 1;
    border-radius: 32px;
    margin-left: 20px;
    margin-right: 20px;
}

.ec-detail__wave-top {
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 2784 / 1608;
    background: url('../../images/page-ecommerce/bg-detail-top.png') top center / 100% 100% no-repeat;
    z-index: -1;
    pointer-events: none;
        border-radius: 32px;
}

.ec-detail__wave-bottom {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 2784 / 1608;
    background: url('../../images/page-ecommerce/bg-detail-bottom.png') bottom center / 100% 100% no-repeat;
    z-index: -1;
    pointer-events: none;
    border-radius: 32px;
}

/* BLOCK 1: Top Analysis/Features */
.ec-detail__block-1 {
    text-align: center;
    margin-bottom: var(--space-4xl);
}

.ec-detail__heading {
    font-size: clamp(var(--font-xl), 3vw, var(--font-2xl));
    font-weight: 600;
    margin-bottom: var(--space-xs);
    color: rgba(255, 255, 255, 0.9);
}

.ec-detail__subheading {
    font-size: clamp(var(--font-3xl), 5vw, var(--font-5xl));
    font-weight: 800;
    margin-bottom: var(--space-md);
    line-height: 1.2;
}

.ec-detail__desc {
    font-size: var(--font-md);
    color: rgba(255, 255, 255, 0.85);
    max-width: 600px;
    margin: 0 auto var(--space-2xl);
    line-height: 1.6;
}

.ec-detail__main-img {
    max-width: 100%;
    margin: 0 auto var(--space-3xl);
    border-radius: var(--radius-xl);
    background-color: rgba(255, 255, 255, 0.15);
    /* glassmorphism wrapper */
    padding: var(--space-md);
    backdrop-filter: blur(8px);
}

.ec-detail__main-img img {
    border-radius: var(--radius-lg);
    width: 100%;
}

.ec-detail__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
}

.ec-detail__card {
    background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: var(--radius-lg);
        padding: 16px;
        backdrop-filter: blur(1rem);
        text-align: left;
        transition: all var(--transition-base);
}

.ec-detail__card:hover {
    background: rgba(255, 255, 255, 0.18);
    transform: translateY(-0.4rem);
    border-color: rgba(255, 255, 255, 0.3);
}

.ec-detail__card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: var(--radius-md);
    margin-bottom: var(--space-md);
}

.ec-detail__card-title {
    font-size: var(--font-lg);
    font-weight: 700;
    margin-bottom: var(--space-sm);
    color: var(--color-text-white);
}

.ec-detail__card-desc {
    font-size: var(--font-sm);
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
}

/* BLOCK 2: Reverse Layout Services */
.ec-detail__block-2 {
    display: flex;
    flex-direction: column;
    gap: var(--space-4xl);
    margin-top: 10rem;
}

.ec-detail__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: var(--space-3xl);
}

.ec-detail__row-content {
    text-align: left;
}

.ec-detail__row-title {
    font-size: clamp(var(--font-2xl), 4vw, var(--font-3xl));
    font-weight: 800;
    margin-bottom: var(--space-md);
    line-height: 1.3;
}

.ec-detail__row-desc {
    font-size: var(--font-base);
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.7;
}

.ec-detail__row-img {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--radius-xl);
    padding: var(--space-lg);
    backdrop-filter: blur(1rem);
}

.ec-detail__row-img img {
    border-radius: var(--radius-md);
    width: 100%;
}

@media (max-width: 992px) {
    .ec-detail__grid {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .ec-detail__row {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
        text-align: center;
    }

    .ec-detail__row-content {
        text-align: center;
    }

    .ec-detail__row-img {
        order: -1;
    }
}

@media (max-width: 768px) {
    .ec-detail {
        padding: 10rem 0;
    }
}