/* Frontend + editor shared styles */
.ic-room-different {
    position: relative;
    overflow: hidden;
    background: var(--ic-room-bg, #141a20);
    color: var(--ic-room-text, #d0ccc6);
    padding-top: var(--ic-room-pt-mobile, 80px);
    padding-bottom: var(--ic-room-pb-mobile, 80px);
}

.ic-room-different__container {
    width: min(var(--ic-room-container-max, 1280px), calc(100% - (var(--ic-room-side-mobile, 24px) * 2)));
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.ic-room-different__content {
    max-width: var(--ic-room-content-max, 1100px);
    margin-inline: auto;
}

.ic-room-different__heading-wrap {
    margin: 0 auto var(--ic-room-heading-space, 64px);
    max-width: 900px;
}

.ic-room-different--centered .ic-room-different__heading-wrap {
    text-align: center;
}

.ic-room-different__eyebrow {
    margin: 0 0 1rem;
    color: var(--ic-room-accent, #c5a95e);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ic-room-different__heading {
    margin: 0 0 1.5rem;
    color: var(--ic-room-heading, #faf8f5);
    font-size: var(--ic-room-heading-size-mobile, 40px);
    line-height: var(--ic-room-heading-line-height, 1.1);
    font-weight: 700;
    text-wrap: balance;
}

.ic-room-different__description {
    margin: 0;
    color: var(--ic-room-text, #d0ccc6);
    font-size: var(--ic-room-description-size-mobile, 20px);
    line-height: var(--ic-room-description-line-height, 1.7);
}

.ic-room-different__description-highlight {
    color: var(--ic-room-accent, #faf8f5);
    font-weight: 700;
}

.ic-room-different__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ic-room-gap-mobile, 24px);
}

.ic-room-different__grid + .ic-room-different__grid {
    margin-top: var(--ic-room-gap-mobile, 24px);
}

.ic-room-different__card {
    background: var(--ic-room-card-bg, #1a1d23);
    border: 1px solid var(--ic-room-card-border, #2b3138);
    border-radius: var(--ic-room-card-radius, 12px);
    padding: var(--ic-room-card-padding, 32px);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
    min-height: 100%;
}

.ic-room-different--hover-lift .ic-room-different__card:hover {
    transform: translateY(-4px);
    border-color: var(--ic-room-card-hover-border, rgba(197,169,94,0.4));
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}

.ic-room-different__icon-wrap {
    margin-bottom: 24px;
    color: var(--ic-room-icon-color, #c5a95e);
}

.ic-room-different__icon {
    width: var(--ic-room-icon-size, 48px);
    height: var(--ic-room-icon-size, 48px);
    transition: transform 0.25s ease;
}

.ic-room-different--icon-scale .ic-room-different__card:hover .ic-room-different__icon {
    transform: scale(1.1);
}

.ic-room-different__card-title {
    margin: 0 0 12px;
    color: var(--ic-room-heading, #faf8f5);
    font-size: var(--ic-room-card-title-size, 24px);
    line-height: 1.3;
    font-weight: 600;
}

.ic-room-different__card-description {
    margin: 0;
    color: var(--ic-room-text, #d0ccc6);
    font-size: var(--ic-room-card-body-size, 17px);
    line-height: var(--ic-room-card-body-line-height, 1.7);
}

.ic-room-different--animate .ic-room-different__heading-wrap {
    opacity: 0;
    animation: icRoomFadeUp var(--ic-room-animation-duration, 0.8s) ease-out var(--ic-room-animation-delay, 0s) forwards;
}

.ic-room-different--animate .ic-room-different__card {
    opacity: 0;
    animation: icRoomFadeUp var(--ic-room-animation-duration, 0.8s) ease-out forwards;
}

.ic-room-different--animate .ic-room-different__card:nth-child(1) { animation-delay: calc(var(--ic-room-animation-delay, 0s) + 0.12s); }
.ic-room-different--animate .ic-room-different__card:nth-child(2) { animation-delay: calc(var(--ic-room-animation-delay, 0s) + 0.22s); }
.ic-room-different--animate .ic-room-different__card:nth-child(3) { animation-delay: calc(var(--ic-room-animation-delay, 0s) + 0.32s); }
.ic-room-different--animate .ic-room-different__card:nth-child(4) { animation-delay: calc(var(--ic-room-animation-delay, 0s) + 0.42s); }
.ic-room-different--animate .ic-room-different__card:nth-child(5) { animation-delay: calc(var(--ic-room-animation-delay, 0s) + 0.52s); }
.ic-room-different--animate .ic-room-different__card:nth-child(6) { animation-delay: calc(var(--ic-room-animation-delay, 0s) + 0.62s); }

@keyframes icRoomFadeUp {
    from { opacity: 0; transform: translateY(28px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 768px) {
    .ic-room-different__grid {
        grid-template-columns: repeat(var(--ic-room-columns, 2), minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .ic-room-different {
        padding-top: var(--ic-room-pt-desktop, 128px);
        padding-bottom: var(--ic-room-pb-desktop, 128px);
    }

    .ic-room-different__container {
        width: min(var(--ic-room-container-max, 1280px), calc(100% - (var(--ic-room-side-desktop, 48px) * 2)));
    }

    .ic-room-different__grid {
        gap: var(--ic-room-gap-desktop, 32px);
    }

    .ic-room-different__grid + .ic-room-different__grid {
        margin-top: var(--ic-room-gap-desktop, 32px);
    }

    .ic-room-different__heading {
        font-size: var(--ic-room-heading-size-desktop, 56px);
    }

    .ic-room-different__description {
        font-size: var(--ic-room-description-size-desktop, 22px);
    }
}


/* Frontend-only scroll animation support */
.ic-room-different.ic-animate-on-scroll .ic-room-different__heading-wrap,
.ic-room-different.ic-animate-on-scroll .ic-room-different__card { animation-play-state: paused; }
.ic-room-different.ic-animate-on-scroll.is-visible .ic-room-different__heading-wrap,
.ic-room-different.ic-animate-on-scroll.is-visible .ic-room-different__card { animation-play-state: running; }
