/* =========================================
   BENEFITS GRID (Isolated Style)
   File: assets/css/bali-benefits-grid.css
   ========================================= */

.bl-ben-wrapper {
    max-width: 1200px;
    margin: 20px auto 20px ; 
    padding: 0 20px;
}

/* THE GRID */
.bl-ben-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 Columns */
    gap: 30px; /* Space between cards */
}

/* CARD STYLE */
.bl-ben-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 35px 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05); /* Soft Shadow */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Left Align Content */
}

.bl-ben-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}

/* ICON CIRCLE */
.bl-ben-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    
    /* Brand Gradient Background */
    background: linear-gradient(135deg, #7d8dff 0%, #636db6 100%);
    
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    flex-shrink: 0;
}

/* TEXT STYLES */
.bl-ben-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #111827; /* Dark Grey */
    margin: 0 0 12px 0;
    line-height: 1.3;
}

.bl-ben-text {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: #6B7280; /* Readable Grey */
    margin: 0;
    line-height: 1.6;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 900px) {
    .bl-ben-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 Columns on Tablet */
    }
}

@media (max-width: 600px) {
    .bl-ben-wrapper {
        margin: 10px auto !important;
        padding: 0 15px !important;
    }
    .bl-ben-grid {
        grid-template-columns: 1fr;
        gap: 10px !important;
    }
    .bl-ben-card {
        padding: 12px !important;
        flex-direction: row;
        align-items: center;
        margin: 0 !important;
    }
    .bl-ben-content {
        flex: 1;
        min-width: 0;
        padding: 0 !important;
        margin: 0 !important;
    }
    .bl-ben-title {
        font-size: 16px;
        margin: 0 0 3px 0 !important;
        padding: 0 !important;
    }
    .bl-ben-text {
        font-size: 14px;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.4;
    }

        .bl-ben-icon {
        width: 44px;
        height: 44px;
        margin-bottom: 0;
        margin-right: 10px !important;
        flex-shrink: 0;
    }
}