/**
 * Block: Icon List - Styles
 */

/* Base */
.acf-block {
    position: relative;
}

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Montserrat:wght@400;500;600;700;800;900&family=Roboto:wght@400;500;700;900&family=Lexend:wght@400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap');

/* Font Family Classes */
.font-inter {
    font-family: 'Inter', sans-serif;
}

.font-montserrat {
    font-family: 'Montserrat', sans-serif;
}

.font-roboto {
    font-family: 'Roboto', sans-serif;
}

.font-lexend {
    font-family: 'Lexend', sans-serif;
}

.font-plus-jakarta-sans {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* ─── Block ──────────────────────────────────────── */

.icon-list-block {
    padding: 0;
}

/* ─── Container ──────────────────────────────────── */

/* Vertical (default) */
.icon-list-block.layout-vertical .icon-list-container {
    display: flex;
    flex-direction: column;
}

/* Horizontal */
.icon-list-block.layout-horizontal .icon-list-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
}

/* Grid */
.icon-list-block.layout-grid .icon-list-container {
    display: grid;
}

/* ─── Alignment ──────────────────────────────────── */

.icon-list-block.align-left.layout-vertical .icon-list-container,
.icon-list-block.align-left.layout-grid .icon-list-container {
    align-items: flex-start;
}

.icon-list-block.align-center.layout-vertical .icon-list-container,
.icon-list-block.align-center.layout-grid .icon-list-container {
    align-items: center;
}

.icon-list-block.align-right.layout-vertical .icon-list-container,
.icon-list-block.align-right.layout-grid .icon-list-container {
    align-items: flex-end;
}

.icon-list-block.align-left.layout-horizontal .icon-list-container {
    justify-content: flex-start;
}

.icon-list-block.align-center.layout-horizontal .icon-list-container {
    justify-content: center;
}

.icon-list-block.align-right.layout-horizontal .icon-list-container {
    justify-content: flex-end;
}

/* ─── List Item ──────────────────────────────────── */

.icon-list-item {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
}

a.icon-list-item:hover {
    text-decoration: none;
}

/* Icon on right */
.icon-list-block.icon-right .icon-list-item {
    flex-direction: row-reverse;
}

/* ─── Icon Wrap ──────────────────────────────────── */

.icon-list-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

.icon-list-icon-wrap i {
    display: block;
    line-height: 1;
}

/* ─── Content ────────────────────────────────────── */

.icon-list-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.icon-list-label {
    display: block;
    line-height: 1.4;
}

.icon-list-sub-text {
    display: block;
    line-height: 1.55;
    font-weight: 400;
}

/* ─── Divider ────────────────────────────────────── */

.icon-list-divider {
    width: 100%;
    border: none;
    border-top: 1px solid;
}

/* Hide divider for non-vertical layouts */
.icon-list-block.layout-horizontal .icon-list-divider,
.icon-list-block.layout-grid .icon-list-divider {
    display: none;
}

/* ─── Hover Effects ──────────────────────────────── */

/* Lift */
.icon-list-block.hover-lift .icon-list-item:hover {
    transform: translateY(-3px);
}

.icon-list-block.hover-lift .icon-list-item:hover .icon-list-icon-wrap {
    transform: scale(1.1);
}

/* Slide */
.icon-list-block.hover-slide .icon-list-item:hover {
    transform: translateX(5px);
}

/* Glow */
.icon-list-block.hover-glow .icon-list-item:hover {
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
    border-radius: 8px;
}

/* ─── Responsive ─────────────────────────────────── */

/* Tablet */
@media (max-width: 768px) {
    .icon-list-block.layout-grid .icon-list-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .icon-list-block.layout-horizontal .icon-list-container {
        gap: 12px !important;
    }
}

/* Mobile */
@media (max-width: 480px) {
    .icon-list-block.layout-grid .icon-list-container {
        grid-template-columns: 1fr !important;
    }
}